Как сохранить csv в utf 8 из excel

от admin

Как преобразовать файлы Excel в формат CSV

CSV (Comma Separated Values) – распространённый формат для хранения табличных данных (числовых и текстовых) в виде простого текста. Этот формат файлов популярен и живуч благодаря тому, что огромное количество программ и приложений понимают CSV, хотя бы как альтернативный вариант файлового формата для импорта / экспорта. Более того, формат CSV позволяет пользователю заглянуть в файл и немедленно найти проблему с данными, если таковая имеется, изменить разделитель CSV, правила цитирования и так далее. Это возможно потому, что CSV – это простой текст, и даже не очень опытный пользователь, сможет легко его понять без специальной подготовки.

В этой статье мы изучим быстрые и эффективные способы экспорта данных из Excel в CSV и узнаем, как преобразовать файл Excel в CSV, сохранив без искажений все специальные и иностранные символы. Описанные в статье приёмы работают во всех версиях Excel 2013, 2010 и 2007.

Как преобразовать файл Excel в CSV

Если требуется экспортировать файл Excel в какое-либо другое приложение, например, в адресную книгу Outlook или в базу данных Access, предварительно преобразуйте лист Excel в файл CSV, а затем импортируйте файл .csv в другое приложение. Ниже дано пошаговое руководство, как экспортировать рабочую книгу Excel в формат CSV при помощи инструмента Excel – «Сохранить как».

  1. В рабочей книге Excel откройте вкладку Файл (File) и нажмите Сохранить как (Save as). Кроме этого, диалоговое окно Сохранение документа (Save as) можно открыть, нажав клавишу F12.
  2. В поле Тип файла (Save as type) выберите CSV (разделители – запятые) (CSV (Comma delimited)).Преобразование Excel в CSVКроме CSV (разделители – запятые), доступны несколько других вариантов формата CSV:
    • CSV (разделители – запятые) (CSV (Comma delimited)). Этот формат хранит данные Excel, как текстовый файл с разделителями запятыми, и может быть использован в другом приложении Windows и в другой версии операционной системы Windows.
    • CSV (Macintosh). Этот формат сохраняет книгу Excel, как файл с разделителями запятыми для использования в операционной системе Mac.
    • CSV (MS-DOS). Сохраняет книгу Excel, как файл с разделителями запятыми для использования в операционной системе MS-DOS.
    • Текст Юникод (Unicode Text (*txt)). Этот стандарт поддерживается почти во всех существующих операционных системах, в том числе в Windows, Macintosh, Linux и Solaris Unix. Он поддерживает символы почти всех современных и даже некоторых древних языков. Поэтому, если книга Excel содержит данные на иностранных языках, то рекомендую сначала сохранить её в формате Текст Юникод (Unicode Text (*txt)), а затем преобразовать в CSV, как описано далее в разделе Экспортируем из Excel в формат CSV UTF-8 или UTF-16.

Замечание: Все упомянутые форматы сохраняют только активный лист Excel.

  1. Выберите папку для сохранения файла в формате CSV и нажмите Сохранить (Save).После нажатия Сохранить (Save) появятся два диалоговых окна. Не переживайте, эти сообщения не говорят об ошибке, так и должно быть.
  2. Первое диалоговое окно напоминает о том, что В файле выбранного типа может быть сохранён только текущий лист (The selected file type does not support workbooks that contain multiple sheets). Чтобы сохранить только текущий лист, достаточно нажать ОК.Преобразование Excel в CSVЕсли нужно сохранить все листы книги, то нажмите Отмена (Cancel) и сохраните все листы книги по-отдельности с соответствующими именами файлов, или можете выбрать для сохранения другой тип файла, поддерживающий несколько страниц.
  3. После нажатия ОК в первом диалоговом окне, появится второе, предупреждающее о том, что некоторые возможности станут недоступны, так как не поддерживаются форматом CSV. Так и должно быть, поэтому просто жмите Да (Yes).Преобразование Excel в CSV

Вот так рабочий лист Excel можно сохранить как файл CSV. Быстро и просто, и вряд ли тут могут возникнуть какие-либо трудности.

Экспортируем из Excel в CSV с кодировкой UTF-8 или UTF-16

Если на листе Excel содержатся какие-либо специальные или иностранные символы (тильда, ударение и подобные) или иероглифы, то преобразование листа Excel в CSV описанным выше способом не сработает.

Дело в том, что команда Сохранить как > CSV (Save as > CSV) исказит все символы, кроме ASCII (American Standard Code for Information Interchange). И если на листе Excel есть парные кавычки или длинные тире (перенесённые в Excel, например, из документа Word при копировании / вставке текста) – такие символы также будут искромсаны.

Простое решение – сохранить лист Excel как текстовый файл Unicode(.txt), и затем преобразовать его в CSV. Таким образом все символы, не входящие в ASCII, останутся в целости и сохранности.

Прежде чем двинуться дальше, позвольте мне кратко пояснить главные отличия между кодировками UTF-8 и UTF-16, чтобы в каждом индивидуальном случае Вы могли выбрать подходящий формат:

  • UTF-8 – это более компактная кодировка, использующая для каждого символа от 1 до 4 байт. Чаще всего рекомендуется использовать этот формат, когда символы ASCII преобладают в файле, т.к. большинство таких символов требует 1 байт памяти. Ещё одно преимущество в том, что кодировка файла UTF-8, содержащего только символы ASCII, ничем не будет отличаться от такого же ASCII-файла.
  • UTF-16 использует от 2 до 4 байт для хранения каждого символа. Учтите, что не во всех случаях файл UTF-16 требует больше места в памяти, чем файл UTF-8. Например, японские символы занимают от 3 до 4 байт в UTF-8 и от 2 до 4 байт в UTF-16. Таким образом, есть смысл использовать UTF-16, если данные содержат азиатские символы, в том числе Японские, Китайские и Корейские. Существенный недостаток этой кодировки в том, что она не полностью совместима с ASCII-файлами и требуются специальные программы для отображения таких файлов. Помните об этом, если планируете импортировать получившиеся файлы из Excel куда-то ещё.

Как преобразовать файл Excel в CSV UTF-8

Предположим, у нас есть лист Excel с иностранными символами, в нашем примере – это японские имена.

Преобразование Excel в CSV

Чтобы экспортировать этот лист Excel в файл CSV, сохранив при этом все иероглифы, сделаем следующее:

  1. В Excel откройте вкладку Файл (File) и нажмите Сохранить как (Save as).
  2. Введите имя файла, в поле Тип файла (Save as type) выберите Текст Юникод (Unicode Text (*.txt)) и нажмите Сохранить (Save).Преобразование Excel в CSV
  3. Откройте созданный файл в любом стандартном текстовом редакторе, например, в Блокноте.

Замечание: Не все простые текстовые редакторы полностью поддерживают символы Юникод, поэтому некоторые из них могут отображаться как прямоугольники. В большинстве случаев, это никак не повлияет на итоговый файл, и можно просто не обращать на это внимание или выбрать более продвинутый редактор, например, Notepad++.

  1. Так как в нашем текстовом Юникод файле в качестве разделителей используется символ табуляции, а мы хотим преобразовать его в CSV (разделители – запятые), то необходимо заменить символы табуляции на запятые.

Замечание: Если нет строгой необходимости получить файл именно с разделителями – запятыми, а нужен любой файл CSV, который Excel сможет понять, то этот шаг можно пропустить, так как Microsoft Excel отлично понимает файлы с разделителем – табуляцией.

  1. Если всё же нужен файл CSV (разделители – запятые), то выполните в Блокноте следующие действия:
    • Выделите символ табуляции, кликните по нему правой кнопкой и в контекстном меню нажмите Копировать (Copy), или просто нажмите Ctrl+C, как показано на рисунке ниже.Преобразование Excel в CSV
    • Нажмите Ctrl+H, чтобы открылось диалоговое окно Заменить (Replace) и вставьте скопированный символ табуляции в поле Что (Find what). При этом курсор сместится вправо – это значит, что символ табуляции вставлен. В поле Чем (Replace with) введите запятую и нажмите Заменить все (Replace all).Преобразование Excel в CSV

В Блокноте результат будет приблизительно вот такой:

Замечание: Если Ваш файл предназначен для использования за пределами Excel и формат UTF-8 является обязательным требованием, то не совершайте на листе никаких изменений и не сохраняйте его снова в Excel, поскольку это может привести к проблемам с чтением кодировки. Если какая-то часть данных не отображается в Excel, откройте тот же файл в Блокноте и в нём внесите исправления в данные. Не забудьте снова сохранить файл в формате UTF-8.

Как преобразовать файл Excel в CSV UTF-16

Экспортировать в файл CSV UTF-16 намного быстрее и проще, чем в UTF-8. Дело в том, что Excel автоматически применяет формат UTF-16 при сохранении файла как Текст Юникод (Unicode Text).

Для этого сохраняем файл при помощи инструмента Сохранить как (Save as) в Excel и затем в Проводнике Windows изменяем расширение созданного файла на .csv. Готово!

Если нужен файл CSV с запятой или точкой с запятой в качестве разделителя, замените все символы табуляции на запятые или точки с запятой соответственно в Блокноте или в любом другом текстовом редакторе на свой выбор (ранее в этой статье есть подробная инструкция, как это делается).

Другие способы преобразования файлов Excel в CSV

Описанные выше способы экспорта данных из Excel в CSV (UTF-8 и UTF-16) универсальны, т.е. подойдут для работы с любыми специальными символами и в любой версии Excel от 2003 до 2013.

Существует множество других способов преобразования данных из формата Excel в CSV. В отличие от показанных выше решений, эти способы не будут давать в результате чистый UTF-8 файл (это не касается OpenOffice, который умеет экспортировать файлы Excel в несколько вариантов кодировки UTF). Но в большинстве случаев получившийся файл будет содержать правильный набор символов, который далее можно безболезненно преобразовать в формат UTF-8 при помощи любого текстового редактора.

Преобразуем файл Excel в CSV при помощи Таблиц Google

Как оказалось, можно очень просто преобразовать файл Excel в CSV при помощи Таблиц Google. При условии, что на Вашем компьютере уже установлен Google Drive, выполните следующие 5 простых шагов:

  1. В Google Drive нажмите кнопку Создать (Create) и выберите Таблица (Spreadsheet).
  2. В меню Файл (File) нажмите Импорт (Import).Преобразование Excel в CSV
  3. Кликните Загрузка (Upload) и выберите файл Excel для загрузки со своего компьютера.
  4. В диалоговом окне Импорт файла (Import file) выберите Заменить таблицу (Replace spreadsheet) и нажмите Импорт (Import).Преобразование Excel в CSV

Совет: Если файл Excel относительно небольшой, то для экономии времени можно перенести из него данные в таблицу Google при помощи копирования / вставки.

  1. В меню Файл (File) нажмите Скачать как (Download as), выберите тип файла CSV – файл будет сохранён на компьютере.Преобразование Excel в CSV

В завершение откройте созданный CSV-файл в любом текстовом редакторе, чтобы убедиться, что все символы сохранены правильно. К сожалению, файлы CSV, созданные таким способом, не всегда правильно отображаются в Excel.

Сохраняем файл .xlsx как .xls и затем преобразуем в файл CSV

Для этого способа не требуется каких-либо дополнительных комментариев, так как из названия уже всё ясно.

Это решение я нашёл на одном из форумов, посвящённых Excel, уже не помню, на каком именно. Честно говоря, я никогда не использовал этот способ, но, по отзывам множества пользователей, некоторые специальные символы теряются, если сохранять непосредственно из .xlsx в .csv, но остаются, если сначала .xlsx сохранить как .xls, и затем как .csv, как мы делали в начале этой статьи.

Так или иначе, попробуйте сами такой способ создания файлов CSV из Excel, и если получится, то это будет хорошая экономия времени.

Сохраняем файл Excel как CSV при помощи OpenOffice

OpenOffice – это пакет приложений с открытым исходным кодом, включает в себя приложение для работы с таблицами, которое отлично справляется с задачей экспорта данных из формата Excel в CSV. На самом деле, это приложение предоставляет доступ к большему числу параметров при преобразовании таблиц в файлы CSV (кодировка, разделители и так далее), чем Excel и Google Sheets вместе взятые.

Просто открываем файл Excel в OpenOffice Calc, нажимаем Файл > Сохранить как (File > Save as) и выбираем тип файла Текст CSV (Text CSV).

На следующем шаге предлагается выбрать значения параметров Кодировка (Character sets) и Разделитель поля (Field delimiter). Разумеется, если мы хотим создать файл CSV UTF-8 с запятыми в качестве разделителей, то выбираем UTF-8 и вписываем запятую (,) в соответствующих полях. Параметр Разделитель текста (Text delimiter) обычно оставляют без изменения – кавычки («). Далее нажимаем ОК.

Преобразование Excel в CSV

Таким же образом для быстрого и безболезненного преобразования из Excel в CSV можно использовать ещё одно приложение – LibreOffice. Согласитесь, было бы здорово, если бы Microsoft Excel предоставил возможность так же настраивать параметры при создании файлов CSV.

В этой статье я рассказал об известных мне способах преобразования файлов Excel в CSV. Если Вам знакомы более эффективные методы экспорта из Excel в CSV, расскажите об этом в комментариях. Благодарю за внимание!

Excel в CSV с кодировкой UTF8

У меня есть файл Excel, который имеет некоторые испанские символы(Тильды и т. д.) что мне нужно преобразовать в файл CSV для использования в качестве файла импорта. Однако, когда я сохраняю как CSV, он искажает «специальные» испанские символы, которые не являются символами ASCII. Кажется, что это также происходит с левыми и правыми кавычками и длинными тире, которые, как представляется, исходят от исходного пользователя, создающего файл Excel в Mac.

поскольку CSV — это просто текстовый файл, я уверен, что он может обрабатывать кодировку UTF8, поэтому я предполагая, что это ограничение Excel, но я ищу способ получить из Excel в CSV и сохранить символы, отличные от ASCII.

30 ответов

простой обходной путь-использовать электронную таблицу Google. Вставьте (значения, только если у вас есть сложные формулы) или импортируйте лист, а затем загрузите CSV. Я просто попробовал несколько персонажей, и это работает довольно хорошо.

Примечание: Google листы имеют ограничения при импорте. См.здесь.

Примечание: будьте осторожны с конфиденциальными данными с Google листов.

EDIT:другая альтернатива — в основном они используют макрос VB или addins для принудительного сохранения как В utf8. Я не пробовал ни одного из этих решений, но они звучат разумно.

Я нашел OpenOfficeприложение электронной таблицы, Calc, действительно хорошо обрабатывает данные CSV.

в «Сохранить как. «диалог, нажмите «Параметры формата», чтобы получить различные кодировки для CSV. LibreOffice работает так же, как AFAIK.

calc save dialog

сохраните лист Excel как » Unicode Text (.формат txt.») Хорошей новостью является то, что все международные символы находятся в UTF16 (обратите внимание, не в UTF8). Однако новое»*.файл » txt » имеет разделители табуляции, а не запятые, и поэтому не является истинным CSV.

(необязательно) если вы не можете использовать файл с разделителями табуляции для импорта, используйте свой любимый текстовый редактор и замените символы табуляции запятыми «,».

импортировать *.txt файл в целевое приложение. Убедитесь, что он может принять формат UTF16.

Если UTF-16 был правильно реализован с поддержкой кодовых точек, отличных от BMP, то вы можете конвертировать файл UTF-16 в UTF-8 без потери информации. Я предоставляю вам найти ваш любимый способ сделать это.

Я использую эту процедуру для импорта данных из Excel в Moodle.

Я знаю, что это старый вопрос, но я случайно наткнулся на этот вопрос, борясь с теми же проблемами, что и OP.

не найдя ни одного из предлагаемых решений жизнеспособным вариантом, я решил выяснить, есть ли способ сделать это только с помощью Excel.

к счастью, я обнаружил, что проблема потерянного символа происходит только (в моем случае) при сохранении из формата xlsx в формат csv. Сначала я попытался сохранить файл xlsx в xls, а затем в csv. Это на самом деле работал.

пожалуйста, дайте ему попробовать и посмотреть, если это работает для вас. Удача.

можно использовать iconv команда под Unix (также доступна в Windows как libiconv).

после сохранения в CSV под Excel в командной строке ставим:

(Не забудьте заменить cp1250 вашей кодировкой).

работает быстро и отлично подходит для больших файлов, таких как база данных почтовых кодов, которые не могут быть импортированы в GoogleDocs (предел 400.000 ячеек).

единственный «простой способ» сделать это заключается в следующем. Во-первых, поймите, что есть разница между тем, что отображается и что скрывается в Excel .CSV-файл.

(1) откройте файл Excel, где у вас есть информация (.XLS, а также .файлы XLSX)

(2) в Excel выберите » CSV (с разделителями-запятыми) (*.csv) как тип файла и сохранить как этот тип.

(3) в блокноте (найдено в разделе «программы», а затем аксессуары в Start меню), откройте сохраненный .CSV-файл в блокноте

(4) затем выберите — > Сохранить как..и в нижней части окна» сохранить как «есть поле выбора, помеченное как»кодировка». Выберите UTF-8 (Не используйте ANSI или вы потеряете все акценты и т. д.). После выбора UTF-8 сохраните файл в несколько отличающемся от исходного имени.

этот файл находится в UTF-8 и сохраняет все символы и акценты и может быть импортирован, например, в MySQL и другую базу данных программы.

этот ответ взят из этот форум.

еще один, который я нашел полезным: «цифры » позволяет настройки кодирования при сохранении в формате CSV.

вы можете сделать это на современной машине Windows без стороннего программного обеспечения. Этот метод надежен и будет обрабатывать данные, которые включают кавычки, символы табуляции, символы CJK и т. д.

1. Сохранить из Excel

в Excel сохраните данные в file.txt С помощью типа Unicode Text (*.txt) .

2. Запустить PowerShell

Run powershell из меню «Пуск».

3. Загрузить файл в В PowerShell

4. Сохраните данные как CSV

» nevets1219 «прав насчет Google docs, однако если вы просто» импортируете » файл, он часто не конвертирует его в UTF-8.

но если вы импортируете CSV в существующую электронную таблицу Google, она преобразуется в UTF-8.

  • на главном экране документов (или диска) Нажмите кнопку» Создать «и выберите»электронная таблица»
  • в меню » Файл «выберите»Импорт»
  • Нажмите «Выбрать Файл»
  • выбрать «Заменить электронную таблицу»
  • выбрать любой символ, который вы используете в качестве разделителя
  • Нажмите Кнопку «Импорт»
  • в меню «Файл» выберите «Загрузить как» — > CSV (текущий лист)

полученный файл будет в UTF-8

для тех, кто ищет полностью программное (или, по крайней мере, серверное) решение, я имел большой успех, используя инструмент xls2csv catdoc.

установить конверотора catdoc, преобразующего файлы:

это очень быстро.

обратите внимание, что важно, чтобы вы включили -d utf-8 флаг, иначе он будет кодировать вывод по умолчанию cp1252 кодировка, и вы рискуете потерять информацию.

обратите внимание, что xls2csv также работает только с .xls файлы, он не работает с .xlsx файлы.

Преобразование Excel файла в CSV UTF-8

Для лучшего отображения контактов в Адресной книге Robovoice преобразуйте ваш Excel документ в формат CSV UTF-8.

Последние версии MS Office (2016, 2019)

  1. Откройте ваш текстовый документ.
  2. Выберите Файл -> Сохранить Как .

информация

Более старые версии MS Office (2003, 2007, 2010, 2013)

  1. Откройте ваш текстовый документ.
  2. Выберите Файл -> Сохранить Как .

Изменить кодировку Excel по умолчанию на UTF-8?

Я использую различные инструменты для регулярной подготовки данных для web. Один из этапов требует от меня открыть CSV в Excel, внести изменения и сохранить файл.

есть ли способ заставить Excel принять кодировку UTF-8 и сохранить свои файлы с этой кодировкой?

6 ответов

  1. в редакторе реестра перейдите к HKEY_CURRENT_USER>программное обеспечение>Microsoft>офис>[версия Excel здесь-вероятно, наибольшее число в этой папке] > Excel>параметры
  2. щелкните правой кнопкой мыши на правой стороне и перейдите в New > DWORD
  3. наименование элемента DefaultCPG, и сохранить
  4. щелкните правой кнопкой мыши DefaultCPG и выберите Изменить
  5. установить основание в десятичное
  6. введите код, показанный в Мастере Excel (для UTF-8 это 65001)
  7. нажмите OK.

Как говорит Василь в комментарии к этому вопросу, если ваш файл на самом деле не в формате UTF-8, вы можете технически преобразовать символы в файле в кодировку, которую вы хотите, прежде чем открывать в Excel. Для моих целей, хотя, UTF-8 делает достаточно хорошую работу по отображению неповрежденных символов.

один простой способ изменить кодировку excel ANSI на UTF-8-это открыть .CSV-файл в блокноте выберите «Файл» > «Сохранить как». Теперь в нижней части вы увидите кодировку он установлен в ANSI изменить его на UTF-8 и сохранить файл как новый файл, а затем сделать.

Я решил подобную проблему раньше. Неудачно, но можно использовать LibreOffice, что по умолчанию UTF-8.

есть Excel надстройка доступна здесь для работы с Unicode CSV файлами, которые должны вам помочь.

вот Примечание разработчика Jaimon Mathew:

Excel обрабатывает .csv файлы в виде текстовых файлов и заменят все Unicode персонажи с «?»при нормальном сохранении. Если вы хотите сохранить Символы юникода, вам нужно будет сохранить файл как » текст Юникода (*.txt)», который является файлом с разделителями табуляции. Так как я не мог найти никого существующий решение для сохранения символов Юникода в формате CSV, I думал, что я дам ему идти в создании Excel Addin, чтобы сделать именно это.

Читать:
Как подключить проводные и беспроводные наушники одновременно к ноутбуку

Похожие статьи