metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-11-09 08:28 pm

Адъ CSV

А напишите кто-нибудь табличку состояний CSV парсера? Т.е. последовательность символов, разделенных запятыми, в строках, разделенных \r или \r\n разбить на список списков строк. Если в строке должны быть служебные символы (т.е. запятая или \r \n) - строка обрамляется в кавычки, если внутри такой строки нужна кавычка - ставится две кавычки подряд.
На самом деле там немного сложнее, типа допустимо незначимые пробелы возле запятых, а значимыми их делают тоже через кавычки, управляющие символы <32 вроде тоже обязательно в кавычки, но это пофиг.
Вроде блин простая задачка, а каждый раз когда ее приходится делать - получаются на пару страниц конечные автоматы.

[identity profile] kkirsanov.livejournal.com 2009-11-09 08:58 pm (UTC)(link)
Доктор!
Экспортирую из 2007 экселя в CSV. Он, зараза, и кавычки не ставит и служебные символы не эскейпит. С горя в XML начал экспортировать, а он угловые скобки html срезает.

Есть там кнопка "сделать чтоб работало" ?

[identity profile] metaclass.livejournal.com 2009-11-09 09:03 pm (UTC)(link)
Странно. У меня 2003 счас аккуратно поставил кавычки.