Что за формат csv и как открыть такой файл?

CSV расшифровывается как comma-separted values, т.е. ‘значения, разделённые запятой’. Вообще, это простой текстовый файл, который можно открыть даже в Блокноте и увидеть его содержимое (с обычными файлами Excel такой фокус на удастся).

Значения (ячейки) отделяются друг от друга разделителем. Стандартный – запятая. Но могут быть и другие – точка с запятой, знак табуляции, даже пробел. Что будет, если у нас внутри ячейки будет запятая? Ячейка будет обёрнута в кавычки (quotation marks), запятая внутри строки в кавычках не будет считаться разделителем. Впрочем, думать о таких тонкостях не надо, программы для работы с CSV сами решают вопросы корректного сохранения файлов.

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

Допустим, вы скачали такой файл. Microsoft Office считает его своим форматом, поэтому когда вы кликнете на иконке файла, то откроется Excel и вы увидите что-то вроде этого:

Проблемы две:

  1. Excel некорректно распознал кодировку, хотя файл в стандартной UTF-8.
  2. Excel не разделил строки на столбцы (колонки), в результате каждый ряд вашей таблицы имеет всего по одному столбцу.

Решение 1. Кардинальное

Установить себе дополнительно пакет LibreOffice . Это свободное ПО, распространяется бесплатно. После установки кликаем правой кнокпой мыши на нужном файле и выбираем пункт «Открыть с помощью» → выбираем LibreOffice Calc.

После чего открывается окно выбора

Как видите, LibreOffice Calc корректно распознал кодировку и выставил UTF-8. Если это не так или вы уверены, что кодировка файла не UTF-8, а другая, то выберите нужный вариант из списка.

И обратите внимание на выбор разделителей. Если в окошке предпросмотра ваc всё устраивает, можно ничего не трогать. А вообще следует оставить только тот разделитель, который точно используется для отделения данных и не встречается в тексте ячеек. В нашем случае это запятая (comma).

После чего жмём «OK» и работаем с нужным нам файлом. LibreOffice – полноценный офисный пакет программ. Полезно уметь в нём работать, и, не исключено, что он вам понравится, так что Microsoft Office и не понадобится.

Решение 2. Консервативное

Если лень вникать в новые программы, можно заставить Excel правильно распознать содержимое файла. В данном случае используется Microsoft Office 2013.

Если нужно открыть файл, запустите Excel, перейдите на вкладку «Данные», нажмите кнопку «Из внешнего источника» → «Из текста».

После чего откроется окно разбивки файла.

Выбираете нужную кодировку, ориентируясь на вид текста в предпросмотре. Обычно это UTF-8, но может быть 1251 (Cyrillic), а то и что-то ещё более экзотическое.  По умолчанию активирован пункт Тип файла – «С разделителем». Нам так и нужно. Жмём «Далее».

На данном этапе нужно правильно выбрать разделитель. В нашем случае это запятая. Могут быть варианты, но с помощью предпросмотра можно решить задачу на глаз. Жмём «Далее».

На этом этапе можно выбрать специфический тип данных для каждой колонки. Но нам это неважно, нажимаем «Закончить».

Кстати, если вы хотите переразбить уже открытый файл (в случае если кодировка распознана верно), то выделите первую колонку (кликните на букву  A), после чего нажмите кнопку «Text to Columns».

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

Вот и и вся премудрость! Теперь мы можем нормально работать с данными и сделать из них жуткий пайчарт красивенькую визуализацию!

Аляксей Яскевіч

спецыялізуецца на апрацоўцы дадзеных (і стварэнні інтэрфейсаў да іх), асабліва многа працуе з тэкстамі і электроннымі картамі (D3.js і Leaflet.js). У датавізе аддае перавагу інтэрактыўнай інфаграфіцы. Цікавіцца тэорыяй камунікацыі і кагнітыўнымі даследаваннямі.

Leave a Reply

Your email address will not be published. Required fields are marked *