CSV (Comma Separated Values) – распространённый формат для хранения табличных данных (числовых и текстовых) в виде простого текста. Этот формат файлов популярен и живуч благодаря тому, что огромное количество программ и приложений понимают CSV, хотя бы как альтернативный вариант файлового формата для импорта / экспорта. Более того, формат CSV позволяет пользователю заглянуть в файл и немедленно найти проблему с данными, если таковая имеется, изменить разделитель CSV, правила цитирования и так далее. Это возможно потому, что CSV – это простой текст, и даже не очень опытный пользователь, сможет легко его понять без специальной подготовки.
В этой статье мы изучим быстрые и эффективные способы экспорта данных из Excel в CSV и узнаем, как преобразовать файл Excel в CSV, сохранив без искажений все специальные и иностранные символы. Описанные в статье приёмы работают во всех версиях Excel 2013, 2010 и 2007.
- Как преобразовать файл Excel в CSV
- Экспортируем из Excel в CSV с кодировкой UTF-8 или UTF-16
- Как преобразовать файл Excel в CSV UTF-8
- Как преобразовать файл Excel в CSV UTF-16
- Другие способы преобразования файлов Excel в CSV
- Преобразуем файл Excel в CSV при помощи Таблиц Google
- Сохраняем файл .xlsx как .xls и затем преобразуем в файл CSV
- Сохраняем файл Excel как CSV при помощи OpenOffice
Как преобразовать файл Excel в CSV
Если требуется экспортировать файл Excel в какое-либо другое приложение, например, в адресную книгу Outlook или в базу данных Access, предварительно преобразуйте лист Excel в файл CSV, а затем импортируйте файл .csv в другое приложение. Ниже дано пошаговое руководство, как экспортировать рабочую книгу Excel в формат CSV при помощи инструмента Excel – «Сохранить как».
- В рабочей книге Excel откройте вкладку Файл (File) и нажмите Сохранить как (Save as). Кроме этого, диалоговое окно Сохранение документа (Save as) можно открыть, нажав клавишу F12.
- В поле Тип файла (Save as type) выберите CSV (разделители – запятые) (CSV (Comma delimited)).Кроме 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.
- Выберите папку для сохранения файла в формате CSV и нажмите Сохранить (Save).После нажатия Сохранить (Save) появятся два диалоговых окна. Не переживайте, эти сообщения не говорят об ошибке, так и должно быть.
- Первое диалоговое окно напоминает о том, что В файле выбранного типа может быть сохранён только текущий лист (The selected file type does not support workbooks that contain multiple sheets). Чтобы сохранить только текущий лист, достаточно нажать ОК.Если нужно сохранить все листы книги, то нажмите Отмена (Cancel) и сохраните все листы книги по-отдельности с соответствующими именами файлов, или можете выбрать для сохранения другой тип файла, поддерживающий несколько страниц.
- После нажатия ОК в первом диалоговом окне, появится второе, предупреждающее о том, что некоторые возможности станут недоступны, так как не поддерживаются форматом CSV. Так и должно быть, поэтому просто жмите Да (Yes).
Вот так рабочий лист 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 откройте вкладку Файл (File) и нажмите Сохранить как (Save as).
- Введите имя файла, в поле Тип файла (Save as type) выберите Текст Юникод (Unicode Text (*.txt)) и нажмите Сохранить (Save).
- Откройте созданный файл в любом стандартном текстовом редакторе, например, в Блокноте.
Замечание: Не все простые текстовые редакторы полностью поддерживают символы Юникод, поэтому некоторые из них могут отображаться как прямоугольники. В большинстве случаев, это никак не повлияет на итоговый файл, и можно просто не обращать на это внимание или выбрать более продвинутый редактор, например, Notepad++.
- Так как в нашем текстовом Юникод файле в качестве разделителей используется символ табуляции, а мы хотим преобразовать его в CSV (разделители – запятые), то необходимо заменить символы табуляции на запятые.
Замечание: Если нет строгой необходимости получить файл именно с разделителями – запятыми, а нужен любой файл CSV, который Excel сможет понять, то этот шаг можно пропустить, так как Microsoft Excel отлично понимает файлы с разделителем – табуляцией.
- Если всё же нужен файл CSV (разделители – запятые), то выполните в Блокноте следующие действия:
- Выделите символ табуляции, кликните по нему правой кнопкой и в контекстном меню нажмите Копировать (Copy), или просто нажмите Ctrl+C, как показано на рисунке ниже.
- Нажмите Ctrl+H, чтобы открылось диалоговое окно Заменить (Replace) и вставьте скопированный символ табуляции в поле Что (Find what). При этом курсор сместится вправо – это значит, что символ табуляции вставлен. В поле Чем (Replace with) введите запятую и нажмите Заменить все (Replace all).
В Блокноте результат будет приблизительно вот такой:
- Кликните Файл > Сохранить как (File > Save as), введите имя для файла и в выпадающем списке Кодировка (Encoding) выберите UTF-8. Затем нажмите кнопку Сохранить (Save).
- Запустите Проводник Windows и измените расширение файла с .txt на .csv.По-другому изменить расширение .txt на .csv можно непосредственно в Блокноте. Для этого в диалоговом окне Сохранить как (Save as) в поле Тип файла (Save as type) выберите вариант Все файлы (All files), а к имени файла в соответствующем поле добавьте «.csv», как показано на рисунке ниже.
- Откройте файл CSV в Excel, для этого на вкладке Файл (File) нажмите Открыть > Текстовые файлы (Open > Text files) и проверьте в порядке ли данные.
Замечание: Если Ваш файл предназначен для использования за пределами 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 простых шагов:
- В Google Drive нажмите кнопку Создать (Create) и выберите Таблица (Spreadsheet).
- В меню Файл (File) нажмите Импорт (Import).
- Кликните Загрузка (Upload) и выберите файл Excel для загрузки со своего компьютера.
- В диалоговом окне Импорт файла (Import file) выберите Заменить таблицу (Replace spreadsheet) и нажмите Импорт (Import).
Совет: Если файл Excel относительно небольшой, то для экономии времени можно перенести из него данные в таблицу Google при помощи копирования / вставки.
- В меню Файл (File) нажмите Скачать как (Download as), выберите тип файла 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 можно использовать ещё одно приложение – LibreOffice. Согласитесь, было бы здорово, если бы Microsoft Excel предоставил возможность так же настраивать параметры при создании файлов CSV.
В этой статье я рассказал об известных мне способах преобразования файлов Excel в CSV. Если Вам знакомы более эффективные методы экспорта из Excel в CSV, расскажите об этом в комментариях. Благодарю за внимание!
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: https://www.ablebits.com/office-addins-blog/2014/04/24/convert-excel-csv/
Перевел: Антон Андронов
Правила перепечатки
Еще больше уроков по Microsoft Excel