Адъ CSV

Nov. 9th, 2009 08:28 pm
metaclass: (Default)
[personal profile] metaclass
А напишите кто-нибудь табличку состояний CSV парсера? Т.е. последовательность символов, разделенных запятыми, в строках, разделенных \r или \r\n разбить на список списков строк. Если в строке должны быть служебные символы (т.е. запятая или \r \n) - строка обрамляется в кавычки, если внутри такой строки нужна кавычка - ставится две кавычки подряд.
На самом деле там немного сложнее, типа допустимо незначимые пробелы возле запятых, а значимыми их делают тоже через кавычки, управляющие символы <32 вроде тоже обязательно в кавычки, но это пофиг.
Вроде блин простая задачка, а каждый раз когда ее приходится делать - получаются на пару страниц конечные автоматы.

Date: 2009-11-09 10:22 pm (UTC)
From: [identity profile] enternet.livejournal.com
На заметку, про CSV и Excel.

Разделитель не всегда запятая. Иногда - точка с запятой. Зависит от настройки системы "разделитель элементов списка".

Date: 2009-11-09 10:26 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Да, известное дело. Но я CSV использую чтобы таскать в удобоваримом виде таблицы с веб-сервиса, и там принудительно ставлю разделителем запятую, чтобы это не зависело от системы.
Хотя параметр "разделитель" для веб-сервиса отдающего csv, я тоже сделал, на случай "кто-нибудь захочет посмотреть из Excel с русской локалью"

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 4th, 2025 04:32 pm
Powered by Dreamwidth Studios