Как создать csv файл

от admin

Как создать файл формата CSV

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.

Количество просмотров этой статьи: 47 520.

Файлы формата CSV (расшифровывается как “значения, разделенные запятыми”) позволяют сохранять текстовые данные в формате таблиц, что очень удобно при работе с большими базами данных. Файл CSV можно создать с помощью программ Microsoft Excel, OpenOffice Calc, Google Таблицы и Блокнот.

Как создать файл CSV

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

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

название Учебный класс спальня Номер GPA
Салли Уиттакер 2018 Дом Маккаррена 312 3, 75
Белинда Джеймсон 2017 Дом Кушинга 148 3, 52
Джефф Смит 2018 Дом Прескотта 17-Д 3, 20
Сэнди Аллен 2019 Оливер Хаус 108 3, 48

Вышеуказанные данные могут быть представлены в файле в формате CSV следующим образом:

Здесь поля данных в каждой строке разделяются запятой, а отдельные строки разделяются новой строкой.

CSV — это текстовый файл, поэтому его можно создавать и редактировать с помощью любого текстового редактора. Однако чаще файл CSV создается путем экспорта ( меню «Файл» -> « Экспорт» ) электронной таблицы или базы данных в программе, в которой он был создан. Нажмите на ссылку ниже, чтобы узнать, как создать CSV-файл в Блокноте, Microsoft Excel, OpenOffice Calc и Google Docs.

  • Блокнот (или любой текстовый редактор)
  • Майкрософт Эксель
  • OpenOffice Calc
  • Гугл документы

Блокнот (или любой текстовый редактор)

Чтобы создать файл CSV с помощью текстового редактора, сначала выберите свой любимый текстовый редактор, например «Блокнот» или «vim», и откройте новый файл. Затем введите текстовые данные, которые должен содержать файл, разделяя каждое значение запятой, а каждую строку — новой строкой.

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

Title1 Заголовок 2 TITLE3
один два три
example1 example2 example3

В созданном вами файле CSV отдельные поля данных были разделены запятыми. Но что, если в самих данных есть запятые?

Если поля данных в вашем CSV- файле содержат запятые, вы можете защитить их, заключив эти поля данных в двойные кавычки ( " ). Запятые, являющиеся частью ваших данных, будут затем отделены от запятых, которые разделяют сами поля.

Например, допустим, что одно из наших текстовых полей представляет собой какое-то пользовательское описание, и пользователям разрешается ставить запятые в описании. Если наши данные выглядят так:

вести заглавие Телефон Заметки
Джим грейсон Старший менеджер (555)761-2385 Говорил во вторник, ему интересно
Пресцилла Уинстон Директор по развитию (555)218-3981 сказал снова позвонить на следующей неделе
Мелисса Поттер Начальник отдела счетов (555)791-3471 Не интересно, дал реферал

Чтобы сохранить запятые в столбце «Примечания», мы можем заключить эти поля в кавычки. Например:

Как видите, в кавычках заключены только поля, содержащие запятые.

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

Если ваши поля содержат двойные кавычки как часть их данных, внутренние кавычки должны быть удвоены, чтобы их можно было правильно интерпретировать. Например, с учетом следующих данных:

игрок Позиция Прозвища Активные годы
Скиппи Петерсон Первая база "Синяя собака", "Волшебник" 1908-1913
Бад Гримсби Центр Поле "Жнец", "Длинная шея" 1910-1917
Вик Крамб Прерыватель "Fat Vic", "Icy Hot" 1911-1912

Мы можем представить его в файле CSV следующим образом:

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

Вот правила того, как данные должны быть отформатированы в файле CSV, из документа IETF, RFC 4180. В этих примерах « CRLF » используется для представления возврата каретки и перевода строки (которые вместе составляют новую строку).

  1. Каждая запись (строка данных) должна быть расположена на отдельной строке, разделенной разрывом строки. Например:
  2. Последняя запись в файле может иметь или не иметь разрыв конца строки. Например:
  3. Может быть необязательная строка заголовка, появляющаяся как первая строка файла с тем же форматом, что и обычные строки записи. Заголовок будет содержать имена, соответствующие полям в файле, и должен содержать то же количество полей, что и записи в остальной части файла. Например:
  4. В заголовке и каждой записи может быть одно или несколько полей, разделенных запятыми. Каждая строка должна содержать одинаковое количество полей в файле. Пробелы считаются частью поля и не должны игнорироваться. Последнее поле в записи не должно сопровождаться запятой. Например:
  5. Каждое поле может быть или не быть заключено в двойные кавычки. Если поля не заключены в двойные кавычки, то двойные кавычки могут не появляться внутри полей. Например:
  6. Поля, содержащие разрывы строк (CRLF), двойные кавычки и запятые, должны быть заключены в двойные кавычки. Например:
  7. Если для заключения полей используются двойные кавычки, то двойная кавычка, появляющаяся внутри поля, должна быть экранирована, если перед ней стоит еще одна двойная кавычка. Например:

Майкрософт Эксель

Чтобы создать файл CSV с помощью Microsoft Excel, запустите Excel, а затем откройте файл, который вы хотите сохранить в формате CSV . Например, ниже приведены данные, содержащиеся в нашем примере листа Excel:

Вещь Стоимость Продано прибыль
клавиатура $ 10, 00 $ 16, 00 $ 6, 00
монитор $ 80, 00 $ 120, 00 $ 40, 00
мышь $ 5, 00 $ 7, 00 $ 2, 00
Всего $ 48, 00

После открытия нажмите « Файл» и выберите « Сохранить как» . В разделе Тип файла выберите CSV (с разделителями-запятыми) или CSV (с разделителями-запятыми) (* .csv), в зависимости от версии Microsoft Excel.

После сохранения файла вы можете открыть его в текстовом редакторе, чтобы просмотреть или отредактировать его вручную. Его содержимое будет выглядеть следующим образом:

Примечание. Последняя строка начинается с двух запятых, потому что первые два поля этой строки были пустыми в нашей электронной таблице. Не удаляйте их — две запятые требуются, чтобы поля соответствовали от строки к строке. Они не могут быть опущены.

OpenOffice Calc

Чтобы создать файл CSV с помощью OpenOffice Calc, запустите Calc и откройте файл, который вы хотите сохранить как файл CSV. Например, ниже приведены данные, содержащиеся в нашем примере таблицы Calc.

Вещь Стоимость Продано прибыль
клавиатура $ 10, 00 $ 16, 00 $ 6, 00
монитор $ 80, 00 $ 120, 00 $ 40, 00
мышь $ 5, 00 $ 7, 00 $ 2, 00
Всего $ 48, 00

После открытия нажмите « Файл», выберите параметр « Сохранить как», а для параметра « Тип файла» выберите « Текст CSV (.csv) (* .csv)» .

После сохранения файла, если вы откроете файл CSV в текстовом редакторе, таком как Блокнот, файл CSV должен напоминать приведенный ниже пример.

Как и в нашем примере с Excel, две запятые в начале последней строки необходимы, чтобы убедиться, что поля соответствуют от строки к строке. Не удаляйте их!

Гугл документы

Откройте Google Docs и откройте файл электронной таблицы, который вы хотите сохранить как файл CSV. Нажмите Файл, Загрузить как, а затем выберите CSV (текущий лист) .

Как преобразовать файлы 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.Преобразование Excel в CSV
  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, расскажите об этом в комментариях. Благодарю за внимание!

Редактируем CSV-файлы, чтобы не сломать данные

Продукты HFLabs в промышленных объемах обрабатывают данные: адреса, ФИО, реквизиты компаний и еще вагон всего. Естественно, тестировщики ежедневно с этими данными имеют дело: обновляют тест-кейсы, изучают результаты очистки. Часто заказчики дают «живую» базу, чтобы тестировщик настроил сервис под нее.

Первое, чему мы учим новых QA — сохранять данные в первозданном виде. Все по заветам: «Не навреди». В статье я расскажу, как аккуратно работать с CSV-файлами в Excel и Open Office. Советы помогут ничего не испортить, сохранить информацию после редактирования и в целом чувствовать себя увереннее.

Материал базовый, профессионалы совершенно точно заскучают.

Что такое CSV-файлы

Формат CSV используют, чтобы хранить таблицы в текстовых файлах. Данные очень часто упаковывают именно в таблицы, поэтому CSV-файлы очень популярны.


CSV-файл состоит из строк с данными и разделителей, которые обозначают границы столбцов

CSV расшифровывается как comma-separated values — «значения, разделенные запятыми». Но пусть название вас не обманет: разделителями столбцов в CSV-файле могут служить и точки с запятой, и знаки табуляции. Это все равно будет CSV-файл.

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

Из-за своих преимуществ CSV — сверхпопулярный формат обмена данными, хотя ему уже лет 40. CSV используют прикладные промышленные программы, в него выгружают данные из баз.

Одна беда — текстового редактора для работы с CSV мало. Еще ничего, если таблица простая: в первом поле ID одной длины, во втором дата одного формата, а в третьем какой-нибудь адрес. Но когда поля разной длины и их больше трех, начинаются мучения.


Следить за разделителями и столбцами — глаза сломаешь

Еще хуже с анализом данных — попробуй «Блокнотом» хотя бы сложить все числа в столбце. Я уж не говорю о красивых графиках.

Поэтому CSV-файлы анализируют и редактируют в Excel и аналогах: Open Office, LibreOffice и прочих.

Ветеранам, которые все же дочитали: ребята, мы знаем об анализе непосредственно в БД c помощью SQL, знаем о Tableau и Talend Open Studio. Это статья для начинающих, а на базовом уровне и небольшом объеме данных Excel с аналогами хватает.

Как Excel портит данные: из классики

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

Большинство казусов связано с тем, что программа без спроса преобразует строки с набором цифр в числа.

Округляет. Например, в исходной ячейке два телефона хранятся через запятую без пробелов: «5235834,5235835». Что сделает Excel? Лихо превратит номера́ в одно число и округлит до двух цифр после запятой: «5235834,52». Так мы потеряем второй телефон.

Приводит к экспоненциальной форме. Excel заботливо преобразует «123456789012345» в число «1,2E+15». Исходное значение потеряем напрочь.

Проблема актуальна для длинных, символов по пятнадцать, цифровых строк. Например, КЛАДР-кодов (это такой государственный идентификатор адресного объекта: го́рода, у́лицы, до́ма).

Удаляет лидирующие плюсы. Excel считает, что плюс в начале строки с цифрами — совершенно лишний символ. Мол, и так ясно, что число положительное, коль перед ним не стоит минус. Поэтому лидирующий плюс в номере «+74955235834» будет отброшен за ненадобностью — получится «74955235834». (В реальности номер пострадает еще сильнее, но для наглядности обойдусь плюсом).

Потеря плюса критична, например, если данные пойдут в стороннюю систему, а та при импорте жестко проверяет формат.

Разбивает по три цифры. Цифровую строку длиннее трех символов Excel, добрая душа, аккуратно разберет. Например, «8 495 5235834» превратит в «84 955 235 834».

Форматирование важно как минимум для телефонных номеров: пробелы отделяют коды страны и города от остального номера и друг от друга. Excel запросто нарушает правильное членение телефона.

Удаляет лидирующие нули. Строку «00523446» Excel превратит в «523446».
А в ИНН, например, первые две цифры — это код региона. Для Республики Алтай он начинается с нуля — «04». Без нуля смысл номера исказится, а проверку формата ИНН вообще не пройдет.

Меняет даты под локальные настройки. Excel с удовольствием исправит номер дома «1/2» на «01.фев». Потому что Windows подсказал, что в таком виде вам удобнее считывать даты.

Побеждаем порчу данных правильным импортом

Если серьезно, в бедах виноват не Excel целиком, а неочевидный способ импорта данных в программу.

По умолчанию Excel применяет к данным в загруженном CSV-файле тип «General» — общий. Из-за него программа распознает цифровые строки как числа. Такой порядок можно победить, используя встроенный инструмент импорта.

Запускаю встроенный в Excel механизм импорта. В меню это «Data → Get External Data → From Text».

Выбираю CSV-файл с данными, открывается диалог. В диалоге кликаю на тип файла Delimited (с разделителями). Кодировка — та, что в файле, обычно определяется автоматом. Если первая строка файла — шапка, отмечаю «My Data Has Headers».

Перехожу ко второму шагу диалога. Выбираю разделитель полей (обычно это точка с запятой — semicolon). Отключаю «Treat consecutive delimiters as one», а «Text qualifier» выставляю в «». (Text qualifier — это символ начала и конца текста. Если разделитель в CSV — запятая, то text qualifier нужен, чтобы отличать запятые внутри текста от запятых-разделителей.)

На третьем шаге выбираю формат полей, ради него все и затевалось. Для всех столбцов выставляю тип «Text». Кстати, если кликнуть на первую колонку, зажать шифт и кликнуть на последнюю, выделятся сразу все столбцы. Удобно.

Дальше Excel спросит, куда вставлять данные из CSV — можно просто нажать «OK», и данные появятся в открытом листе.

Перед импортом придется создать в Excel новый workbook

Но! Если я планирую добавлять данные в CSV через Excel, придется сделать еще кое-что.

После импорта нужно принудительно привести все-все ячейки на листе к формату «Text». Иначе новые поля приобретут все тот же тип «General».

  • Нажимаю два раза Ctrl+A, Excel выбирает все ячейки на листе;
  • кликаю правой кнопкой мыши;
  • выбираю в контекстном меню «Format Cells»;
  • в открывшемся диалоге выбираю слева тип данных «Text».

Чтобы выделить все ячейки, нужно нажать Ctrl+A два раза. Именно два, это не шутка, попробуйте

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

Альтернатива: Open Office Calc

Для работы с CSV-файлами я использую именно Calc. Он не то чтобы совсем не считает цифровые данные строками, но хотя бы не применяет к ним переформатирование в соответствии с региональными настройками Windows. Да и импорт попроще.

Конечно, понадобится пакет Open Office (OO). При установке он предложит переназначить на себя файлы MS Office. Не рекомендую: хоть OO достаточно функционален, он не до конца понимает хитрое микрософтовское форматирование документов.

А вот назначить OO программой по умолчанию для CSV-файлов — вполне разумно. Сделать это можно после установки пакета.

Итак, запускаем импорт данных из CSV. После двойного клика на файле Open Office показывает диалог.


Заметьте, в OO не нужно создавать новый воркбук и принудительно запускать импорт, все само

  1. Кодировка — как в файле.
  2. «Разделитель» — точка с запятой. Естественно, если в файле разделителем выступает именно она.
  3. «Разделитель текста» — пустой (все то же, что в Excel).
  4. В разделе «Поля» кликаю в левый-верхний квадрат таблицы, подсвечиваются все колонки. Указываю тип «Текст».

Помимо Calc у нас в HFLabs популярен libreOffice, особенно под «Линуксом». И то, и другое для CSV применяют активнее, чем Excel.

Бонус-трек: проблемы при сохранении из Calc в .xlsx

Если сохраняете данные из Calc в экселевский формат .xlsx, имейте в виду — OO порой необъяснимо и масштабно теряет данные.

/>
Белая пустошь, раскинувшаяся посередине, в оригинальном CSV-файле богато заполнена данными

Поэтому после сохранения я еще раз открываю файл и убеждаюсь, что данные на месте.

Если что-то потерялись, лечение — пересохранить из CSV в .xlsx. Или, если установлен Windows, импортнуть из CSV в Excel и сохранить оттуда.

После пересохранения обязательно еще раз проверяю, что все данные на месте и нет лишних пустых строк.

Если интересно работать с данными, посмотрите на наши вакансии. HFLabs почти всегда нужны аналитики, тестировщики, инженеры по внедрению, разработчики. Данными обеспечим так, что мало не покажется 🙂

Читать:
Что значит неверный формат

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