Формат CSV, або Куди ставити коми?

Серед прикладних задач, з якими стикається якщо не програміст, то вже просунутий користувач, імпорт даних з однієї програми до іншої зустрічається не так уже й рідко. І досить часто доводиться імпортувати табличні дані, для чого, власне, і був придуманий формат CSV. Зараз розроблено вже кілька альтернативних рішень (лідирує серед них XML). Але створення файлу CSV в деяких випадках залишається найзручнішим рішенням, а деяких - найбільш проблематичним.формат csv

Розшифровується назва формату як commaseparatedvalues - розділені комами значення. У Блокноті файл виглядає наступним чином:

00, 01, 02, 03-

01, 15, 34, 11-

16, 27, 33, 06 (в самому кінці знак ставити не обов`язково)



А в таблиці Excel або схожого додатки вже так:

00010203
01153411
16273306

Але зараз ми розібрали найпростіший випадок. Проблеми починаються якраз через те, що завдяки дуже стислому поданням даних, CSV формат використовується для передачі великих обсягів інформації. Найчастіше в базах зустрічаються різнорідні значення: цифрові, літерні, цифро-буквені, з пробілами і т.д. Нерідко у великих масивах зустрічаються помилки, і якщо, наприклад, десь з`явиться зайва кома всередині вмісту одного з полів, всі осередки можуть зміститися на одну.формат файлу csv

Взагалі, проблеми, що виникають при імпорті даних через формат файлу CSV, можна розділити на три категорії:



1 - Некоректне заповнення полів.

2 - Неправильне перетворення даних при збереженні файлу в CSV.

3 - Неправильне визначення формату програмою-імпортером.

Перший випадок ми вже частково розглянули. Щоб боротися з проблемою, необхідно передбачити засоби контролю правильності вводяться. Наприклад, якщо вам необхідно зібрати базу даних адрес для поштової розсилки, існують спеціальні скрипти, які перевіряють, ввів людина свій e-mail в потрібному форматі. Там, де є прогалини, коми і будь-які інші дані, які можуть зчитуватися невірно, вміст поля необхідно взяти в лапки (так звані комп`ютерні "").

Другий випадок пов`язаний з вибором кодування. Необхідно з`ясувати, часто дослідним шляхом, яке кодування віддасть перевагу програма-імпортер. У Windows повсюдно застосовується 1251, тому якщо у вихідному файлі зустрінеться текст в Unicode, він буде відображатися в додатку-одержувачі як ланцюжки питань. В Excel є можливість зберігати в формат CSV з різною кодуванням і розділювачами (крім коми ще використовується табуляція і крапка з комою), але найкраще створювати файл в Notepad ++ або OpenOfficeCalc.

Третій випадок - наслідок другого. Історично склалося, що формат CSV не має єдиного стандарту. Багато програм сприймають як CSV також файли форматів TSV (поділ табуляцією) і SCSV (поділ крапкою з комою), зокрема тому, що розширення файлу про це не повідомляє. При цьому дані зчитуються помилково і не розподіляються по осередках в потрібному порядку. Найкраще, що можна порадити - створювати CSV файл власноруч. Як вже говорилося, для цього потрібно скористатися зручним редактором.csv формат

Хитрощі того, як приборкати формат CSV, відомі програмістам. Простому користувачеві досить дотримуватися наших рекомендацій щодо створення файлу. Найменше проблем виникає тоді, коли файл створюється спеціально для імпорту в певний додаток (буває і по-іншому). Так простіше врахувати всі можливі проблеми, що виникають на шляху передачі даних.




» » Формат CSV, або Куди ставити коми?