Полезное

Формат CSV в RFC 4180

Как ни странно, но до сих пор не существует единого официального стандарта, регламентирующего формат CSV. Есть только описание, данное в рабочем предложении RFC 4180.

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


1. Каждая запись находится на отдельной строке, ограниченной символом разрыва строки (CRLF). Например:

aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF

2. Последняя запись в файле может иметь или не иметь разрыв строки в конце. Например:

aaa,bbb,ccc CRLF
zzz,yyy,xxx

3. Допускается строка заголовка в первой строке в том же формате, что и обычная строка записи. Этот заголовок будет содержать имена, соответствующие полям в файле и должен содержать то же количество полей, что и записи в остальной части файла (наличие или отсутствие строки заголовка должно быть указано с помощью дополнительного параметра «header» («заголовок») этого MIME-типа). Например:

field_name,field_name,field_name CRLF
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF

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

aaa,bbb,ccc

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

«aaa»,»bbb»,»ccc» CRLF
zzz,yyy,xxx

6. Поля, содержащие разрывы строки (CRLF), двойные кавычки и запятые, должны быть заключены в двойные кавычки. Например:

«aaa»,»b CRLF bb»,»ccc» CRLF
zzz,yyy,xxx

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

«aaa»,»b»»bb»,»ccc»


На практике под CSV часто понимают более общий формат DSV (delimiter-separated values, значения, разделенные разделителем), который может использовать отличные от запятой разделители. Наиболее популярные в нашей стране разделители – символ табуляции и точка с запятой. Причем некоторые программы, как, например, Microsoft Excel, могут использовать тот или иной разделитель в зависимости от региональных настроек (в MS Excel – запятая в общих настройках и точка с запятой в российских).

В зависимости от разделителя форматы могут называться:

  • CSV (Comma-separated values) – значения, разделенные запятыми,
  • SCSV (Semi-colon-separated values) значения, разделенные точкой с запятой,
  • TSV (Tab-separated values) значения, разделенные символом табуляции.

Также в качестве разделителя используются как минимум: двоеточие, пробел, вертикальная черта.

Вне зависимости от использованного разделителя, остальные рекомендации остаются неизменными.

Скачать RFC 4180 на русском

Возражения дистрибьюторов

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

Возражения дистрибьюторов 16-9

Возражения дистрибьюторов 4-3

Термины трейд-маркетинга

Канал товародвижения – совокупность всех участников торговой цепочки, начиная от производителя и заканчивая розничной торговой точкой, обеспечивающие доставку продукта конечному потребителю.
Номенклатурная позиция, Stock keeping unit (SKU) – уникальный тип продаваемой товарной позиции.
Номенклатурная группа – группа однородных номенклатурных позиций, по которым ведется обобщенное планирование и анализ. Группировка может производиться в один или несколько уровней.
Первичные продажи (Sell in) — продажи производителя на склад дистрибутора.
Вторичные продажи (Sell out) — продажи дистрибутора в торговые точки.
АКБ (Активная Клиентская База) — количество торговых точек закупивших продукт за определенный период времени.
Средняя линия – усредненное количество номенклатурных позиций (SKU), отгруженных в торговые точки за определенный период времени. Может рассчитываться по определенному менеджеру, территории или каналу сбыта
MML (Minimum Must List), Минимальная ассортиментная матрица – определенный ассортиментный перечень, который должен находиться на полке торговой точки. Для целей анализа подсчитывают количество торговых точек, сделавших закупку минимальной ассортиментной матрицы за определенный период времени.
Point – 1 номенклатурная позиция (SKU), отгруженная в 1 торговую точку вне зависимости от объема продаж. Для расчета показателей качества работы торгового персонала используют общее количество Point за определенный период времени, отгруженных тем или иным сотрудником.
Offtake – объем продаж определенного SKU или номенклатурной группы из торговой точки конечному потребителю.