Авторское право

Форматы данных

Формат CSV

Формат CSV расшифровывается как Comma Separated Values, что переводится на русский как "Значения, разделенные запятыми". Компания Microsoft добавила свою интригу к этому формату - ее данные, почему-то, в формате CSV разделяются точкой с запятой, и многие к этому уже настолько привыкли, что испытывают некоторые трудности с чтением оригинального формата.

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

Данные в формате CSV выглядят достаточно просто - вот пример таблички размером 4 столбца и 3 строки:

data,"data string",10,12
info,"info data",12,15
"check line",50,100,200

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

Поскольку формат CSV допускает использование разных символов-разделителей, разных кавычек и разных кодировок - с этим форматом у простых пользователей часто бывают затруднения: открываешь файл CSV в Excel, а там - какие-то крючочки. Такое действительно часто встречается, но это не означает, что "файл плохой". Просто нужно попробовать открыть этот же файл с другой кодировкой и другими символами-разделителями. В России обычно используются две кодировки: Win-1251 (cp1251) и UTF-8, а в качестве знака-разделителя в подавляющем большинстве случаев возможно три варианта: запятая, точка с запятой и знак табуляции.

К достоинствам формата CSV можно отнести высокую компактность, абсолютно элементарное устройство формата и возможность передавать в нём большой объём данных. Это очень важно. К примеру в CSV можно упаковать таблицу размером в миллионы строк, в то время как обычный MS Excel (xls, xlsx) не позволяет делать таблицы более 1 млн срок.

Недостатки формата CSV - это:

  • Относительная неопределенность в выборе разделителей и кодировок - причина, по которой файлы не всегда "открываются" с первого раза у новичков.
  • Отсутствие каких-либо правил валидации: в отличие от XML, где нарушение структуры файла сразу заметно, CSV-файлы могут быть повреждены при передачи - и этот факт зачастую останется не заметным до "полного погружения в файл".
  • Относительная "нечитабельность" файла на больших объемах: разобраться в кавычках, разделителях, переносах обычным взглядом не всегда представляется возможным, особенно когда упакованная таблица имеет большое число колонок.

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

формат данных csv xls excel
 0
 0