Comma-SeparatedValues (CSV)

CSV(отангл. Comma-SeparatedValues — значения, разделённые запятыми) - текстовый формат, предназначенный для представления табличных данных. Каждая строка файла — это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (delimiter) —запятой(,). Однако, большинство программ вольно трактует стандарт CSV и допускают использование иных символов в качестве разделителя. В частности влокалях, где десятичным разделителем является запятая, в качестве табличного разделителя, как правило, используется точка с запятой. Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойнымикавычками("); если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд. Строки разделяются парой символов CR LF (0x0D 0x0A) (вDOSиWindowsэта пара генерируется нажатием клавиши Enter). Однако конкретные реализации могут использовать другие общепринятые разделители строк, например LF (0x0A) вUNIX.

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

Открыть csv файл можно в текстовом редакторе в виде простого текста или в Excel в виде таблицы

В случае экпорта данных в виде таблицы в большинстве случаев выгоднее и удобнее использовать CSV. Вот его преимущества в данном случае:

  1. Размер файла CSV обычно в несколько раз меньше XML, что экономит трафик и время
  2. Разрабатывать парсер для CSV значительно легче
  3. Разработка системы экпорта в CSV значительно проще

Как пример можно привести некоторые интернет-магазины, файл экспорта базы которых имеет  размер до 60 мегабайт, даже в заархивированном виде. При этом ту же информацию можно было бы уместить в 1-2 мегабайта CSV.

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

<ITEM>
 <PRICE>12</PRICE>
 <TITLE>Белыйальбом</TITLE>
 <ARTIST>Beatles</ARTIST>
</ITEM>

Итого 60 знаков на теги (без учета переносов и табуляций) и 19 на информацию.

Ту же информацию можно записать в CSV
12;Белый альбом;Beatles

Итого 24 знака

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

Можно написать дополнительный модуль для 1С (обработку), которая выгрузила бы нужные нам данные в этом формате, но существует более простой способ это сделать.

Суть нашего простого способа в том, что в 1С можно сформировать отчет о товарах, а затем этот отчет сохранить в формате XLS (документ Excel). Затем этот файл открыть в Excel и заново сохранить уже в формате CSV. Excel умеет сохранять данные в этом формате.

инструкция по выгрузке данных из 1С в CSV формате:

  1. В программе «1С сформируйте отчет:
  2. Когда отчет будет сформирован, сохраните его: Файл -> Сохранить Копию.
  3. При сохранении укажите формат сохраняемого файла «Лист Excel (*.xls)».
  4. Откройте сохранённый файл в программе Excel.
  5. В программе Excel заново сохраните файл: Файл -> Сохранить как
  6. При сохранении укажите формат сохраняемого файла: CSV.