Excel знищує спеціальний символ, коли зберігається як CSV


21

Я працюю над проектом, який використовує файл CSV, наданий клієнтом для заповнення бази даних. Клієнт повинен створити електронну таблицю, а потім зберегти її як CSV для завантаження, який потім аналізується в базу даних.

Проблема полягає в тому, що кожного разу, коли клієнт зберігає таблицю Excel як файл .csv MS-DOS, багато спеціальних символів перетворюються на знаки питання "?" (такі символи, як "" /). Однак, якщо потім відкрити файл CSV і замінити кожен вручну? правильним символом, він буде добре працювати.

Проблема полягає в тому, що файл даних ВЕЛИЧЕЗНИЙ, і ми не можемо зробити це розумно, тому я сподівався, що існує спосіб зберегти його. Ми намагалися експортувати як Unicode та ASCII безрезультатно. Ми також спробували завантажувати документи в google і повторно зберігати, однак це також порушує ці символи.


2
Якщо ви перебуваєте у програмі excel 2007, у діалоговому вікні "Зберегти файл як" є лише ліворуч від кнопки збереження спадне меню "Інструменти". Якщо ви виберете режим перегляду та на вкладці Кодування, ви можете вибрати конкретне кодування. Спробуйте, якщо це вам допоможе

Що таке приклад цього тексту?
enderland

1
Проблема не відтворювана. Переконайтеся, що дані насправді є описаними вами, а не деякими символами, які не можуть бути представлені в кодуванні MS-DOS.
Jukka K. Korpela

Відповіді:


11

Переконайтеся, що ви вирішили зберегти як а, CSV (Comma Delimited)а не як CSV (MS-DOS), оскільки DOS не підтримує символи UTF-8.


6

Я виявив, що проблема втраченого символу трапляється (у моєму випадку) лише під час збереження з формату xlsx у формат csv. Я спробував спочатку зберегти файл xlsx у xls, потім у csv. Це фактично спрацювало.


Це не працює для мене. Я все-таки дістаю? у файлі csv
thanos.a

4

Можливе вирішення проблеми - зберегти його як Unicode Text(2007 рік, не впевнений у попередніх виданнях), що зберігає його як текстовий файл, розділений на вкладки.

Цей файл зберігав мої символи unicode (в моєму випадку я працював з азіатськими символами ), створюючи якийсь такий текстовий файл з обмеженим доступом, який потім можна запустити через зовнішні інструменти для перетворення в csv, якщо потрібно.

Однак у моєму вкладі не було вкладених вкладок у кожну клітинку, і я не впевнений, як це було б оброблено.


3

Ось що для мене працює:

  1. Внесіть виправлення даних у Excel або CSV
  2. Збережіть файл як текст Unicode
  3. Відкрийте NOTEPAD
  4. Відкрийте файл Unicode, який ви тільки що зберегли за допомогою NOTEPAD
  5. За допомогою курсору виділіть порожню область, що містить одну вкладку 5a. Використовуйте пробіл між ідентифікатором придбання та типом запиту, оскільки в ньому розміщено ОДНУ ТАБЛИЦЮ!
  6. Натисніть Cnrl-C, щоб скопіювати символ вкладки
  7. Введіть Cnlr-H, щоб відкрити вікно функції Замінити
  8. Клацніть у текстовому полі «Знайти» та введіть Cnlr-V, щоб вставити вкладку
  9. Клацніть у полі Замінити текстом і введіть кому
  10. Клацніть Замінити, щоб перевірити його один раз. Підтвердьте, що вкладка у файлі замінена комою
  11. Клацніть Замінити все
  12. Натисніть Скасувати
  13. Збережіть файл та вийдіть
  14. У Windows Explorer змініть розширення файлу на .csv

1
Це працювало для мене, використовуючи Notepad ++.
ChrisB

Так, мені довелося експортувати як Unicode і знаходити та замінювати вкладки на коми.
nilloc

2

У мене це питання вже деякий час, і, нарешті, я присвятив деякий час, щоб розібратися в цьому! Мені вдалося (начебто) виправити проблему, зберігаючи як "Windows Comma Comparated (.csv)". Я спробував це з .xlsx та .xls, обидва перетворені на .csv просто чудово. Сподіваюсь, це допомагає - повідомте мені, чи виникнуть проблеми з цим методом. Я звітну, якщо побачу щось протягом наступних кількох тижнів.


1
Ласкаво просимо до Супер Користувача. Радий бачити, що ви заскочили прямо, щоб відповісти на запитання.
CharlieRB

1

Рішення:

  1. Відкрийте свій файл CSV у Блокноті (ви помітите, що він пише ANSI), а потім збережіть його як UTF-8 у Блокноті.

  2. Тоді імпорт повинен працювати. Якщо, однак, ви відкриєте його знову в Excel і просто зберегти це не буде працювати, оскільки Excel, по всій видимості, не може кодувати коду в UTF-8.

  3. Інший варіант - це робота з вашим CSV-файлом на сайті www.LibreOffice.org (безкоштовно), який може правильно кодувати в UTF-8 (я сам цього не пробував).

Я зіткнувся з подібною проблемою з імпортом csv продуктів з фракціями в WooCommerce, який був відхилений через "?" помилки символів. Це тому, що файл CSV не був закодований в UTF-8. ЗАРАЗ, навіть після збереження CSV-файлу в Excel з кодуванням UTF-8 він все ще не працював.

Після подряпин на декількох форумах виявляється, що хоча Excel дає можливість кодувати як UTF-8 - коли ЗБЕРЕГАТИ ЯК CSV, Excel автоматично перетворює його назад у ANSI, навіть якщо ви вибрали UTF-8.


1
  1. Завантажте та встановіть Unicode CSV Addin для excel з https://github.com/jaimonmathew/Unicode-CSV-Addin
  2. Збережіть csv з нового меню "Unicode CSV", як показано на малюнку нижче.

введіть тут опис зображення


1
Будете, будь ласка, опублікувати посилання на цей додаток?
Xavier Poinas

Я оновив відповідь, щоб включити сторінку github. Там ви можете знайти сторінку завантаження
thanos.a

0

Навіть я зіткнувся з проблемою зі спеціальними символами під час завантаження японських термінів у форматі .csv. Однак, коли я зберег .csv файл у текстовому форматі (розділено Tab), японські символи там, де ідеально заселяються. Потім я просто скопіював дані з текстового файлу і вставив у електронну таблицю. Добре працювали !!!

Спасибі, Вайшах


Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх публікацією - ви завжди можете коментувати свої власні публікації, і коли ви матимете достатню репутацію, ви зможете коментувати будь-яку публікацію .
Рамхаунд

0

Знайшов найкраще рішення коли-небудь: http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html

За посиланням:

1-Клацніть меню "Пуск"

2 - Виберіть панель управління

3 - Знайдіть параметри регіону та мови в класичному режимі або введіть його ім’я на панелі пошуку, що знаходиться праворуч у вікні панелі управління

4 Клацніть на розширеній вкладці та натисніть локалі

5 Клацніть на персидську або арабську мову або бажану програму кодування UTF-08, яку ви хочете зберегти за допомогою Excel у CSV


woshka.com більше не є дійсною URL-адресою, це наразі припаркований домен.
Крейг Лондон

0

для ™ я знайшов рішення. У файлі .xlsx замініть усі "™" на "& tr-ade;". видалити - з замінити на. Збережіть файл у форматі .csv і все зроблено. бажаю, щоб це працювало на тебе.


0

На комп'ютері Mac це працювало для мене.

У програмі excel виберіть зберегти як, а потім зі спадного меню виберіть вікно розділене комою (CSV).

Це просто працює !!!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.