CSV

Поделись знанием:
Перейти к: навигация, поиск
CSV
Comma-Separated Values
Тип формата

представление базы данных

Стандарт(ы)

RFC 4180

CSV (от англ. Comma-Separated Values — значения, разделённые запятыми) — текстовый формат, предназначенный для представления табличных данных. Спецификация:

  • Каждая строка файла — это одна строка таблицы.
  • Разделителем (англ. delimiter) значений колонок является символ запятой (,). Однако на практике часто используются другие разделители, то есть формат путают с DSV</span>ruen и TSV (см. ниже).
  • Значения, содержащие зарезервированные символы (двойная кавычка, запятая, точка с запятой, новая строка) обрамляются двойными кавычками ("). Если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.




Иные разделители

Однако, большинство программ понимают под CSV более общий формат DSV</span>ruen (англ. delimiter-separated values — значения разделённые разделителем), допускающий использование иных символов в качестве разделителя. В частности, в русской и других локалях запятая по умолчанию зарезервирована под десятичный разделитель. Поэтому как разделитель используется точка с запятой или табуляция (формат TSV).

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

Пример

Исходный текст:

1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""","",4900.00
1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00

Результирующая таблица:

1997 Ford E350 ac, abs, moon 3000
1999 Chevy Venture «Extended Edition» 4900
1996 Jeep Grand Cherokee MUST SELL! air, moon roof, loaded 4799

Для русифицированного Microsoft Excel (при разделителе ;) исходный текст будет выглядеть так:

1965;Пиксель;E240 – формальдегид (опасный консервант)!;"красный, зелёный, битый";3000,00
1965;Мышка;"А правильней использовать ""Ёлочки""";;4900,00
"Н/д";Кнопка;Сочетания клавиш;"MUST USE! Ctrl, Alt, Shift";4799,00

Результирующая таблица:

1965 Пиксель E240 — формальдегид (опасный консервант)! красный, зелёный, битый 3000
1965 Мышка А правильней использовать "Ёлочки" 4900
Н/д Кнопка Сочетания клавиш MUST USE! Ctrl, Alt, Shift 4799

Программы для редактирования CSV-файлов

Microsoft Excel, Numbers, [softconstructors.com/ru/applications/tablepro3/index.html ТаблицаПро], CSVed, OpenOffice.org Calc, KSpread, Gnumeric, Google Docs, Блокнот, Emacs.

Импорт и экспорт CSV-файлов возможен во многих инженерных пакетах, например, ANSYS и LabVIEW.

Напишите отзыв о статье "CSV"

Ссылки

  • [www.mastpoint.com/csv-1203 CSV-1203 (English)]  (англ.)
  • [www.rfc-editor.org/rfc/rfc4180.txt RFC 4180, спецификация]  (англ.)
  • [tradeincome.ru/useful-content/RFC%204180%20rus.pdf RFC 4180, спецификация] (рус.)
  • [www.creativyst.com/Doc/Articles/CSV/CSV01.htm Примеры]
  • [supercsv.sourceforge.net/csvSpecification.html Формальная спецификация на EBNF]

Отрывок, характеризующий CSV

За щитами больше ничего не шевелилось, и пехотные французские солдаты с офицерами пошли к воротам. В воротах лежало три раненых и четыре убитых человека. Два человека в кафтанах убегали низом, вдоль стен, к Знаменке.
– Enlevez moi ca, [Уберите это,] – сказал офицер, указывая на бревна и трупы; и французы, добив раненых, перебросили трупы вниз за ограду. Кто были эти люди, никто не знал. «Enlevez moi ca», – сказано только про них, и их выбросили и прибрали потом, чтобы они не воняли. Один Тьер посвятил их памяти несколько красноречивых строк: «Ces miserables avaient envahi la citadelle sacree, s'etaient empares des fusils de l'arsenal, et tiraient (ces miserables) sur les Francais. On en sabra quelques'uns et on purgea le Kremlin de leur presence. [Эти несчастные наполнили священную крепость, овладели ружьями арсенала и стреляли во французов. Некоторых из них порубили саблями, и очистили Кремль от их присутствия.]
Мюрату было доложено, что путь расчищен. Французы вошли в ворота и стали размещаться лагерем на Сенатской площади. Солдаты выкидывали стулья из окон сената на площадь и раскладывали огни.
Другие отряды проходили через Кремль и размещались по Маросейке, Лубянке, Покровке. Третьи размещались по Вздвиженке, Знаменке, Никольской, Тверской. Везде, не находя хозяев, французы размещались не как в городе на квартирах, а как в лагере, который расположен в городе.
Хотя и оборванные, голодные, измученные и уменьшенные до 1/3 части своей прежней численности, французские солдаты вступили в Москву еще в стройном порядке. Это было измученное, истощенное, но еще боевое и грозное войско. Но это было войско только до той минуты, пока солдаты этого войска не разошлись по квартирам. Как только люди полков стали расходиться по пустым и богатым домам, так навсегда уничтожалось войско и образовались не жители и не солдаты, а что то среднее, называемое мародерами. Когда, через пять недель, те же самые люди вышли из Москвы, они уже не составляли более войска. Это была толпа мародеров, из которых каждый вез или нес с собой кучу вещей, которые ему казались ценны и нужны. Цель каждого из этих людей при выходе из Москвы не состояла, как прежде, в том, чтобы завоевать, а только в том, чтобы удержать приобретенное. Подобно той обезьяне, которая, запустив руку в узкое горло кувшина и захватив горсть орехов, не разжимает кулака, чтобы не потерять схваченного, и этим губит себя, французы, при выходе из Москвы, очевидно, должны были погибнуть вследствие того, что они тащили с собой награбленное, но бросить это награбленное им было так же невозможно, как невозможно обезьяне разжать горсть с орехами. Через десять минут после вступления каждого французского полка в какой нибудь квартал Москвы, не оставалось ни одного солдата и офицера. В окнах домов видны были люди в шинелях и штиблетах, смеясь прохаживающиеся по комнатам; в погребах, в подвалах такие же люди хозяйничали с провизией; на дворах такие же люди отпирали или отбивали ворота сараев и конюшен; в кухнях раскладывали огни, с засученными руками пекли, месили и варили, пугали, смешили и ласкали женщин и детей. И этих людей везде, и по лавкам и по домам, было много; но войска уже не было.