Мне нужно обработать CSV-файл из FedEx.com, содержащий историю доставки. К сожалению, FedEx, похоже, не тестирует свои CSV-файлы, так как не цитирует строки, в которых есть запятые.Ruby: Как я могу обработать файл CSV с «плохими запятыми»?
Например, название компании может быть «Dog Widgets, Inc.» но CSV не цитирует эту строку, поэтому любой парсер CSV считает, что запятая перед «Inc.», является началом нового поля.
Есть ли способ, которым я могу достоверно разобрать эти строки с помощью Ruby?
Единственная отличительная характеристика, которую я могу найти, состоит в том, что запятые, которые являются частью строки, имеют пробел после этого. Запятая, что отдельные поля не имеют пробелов. Не знаю, как это помогает мне разобрать это, но это то, что я заметил.
+1 для использования группировки в расколотом регулярных выражений. –
yah, блестящий ответ –