OpenCSV не соответствует стандарту CSV (RFC 4180)
Я использую openCSV для синтаксического анализа файла CSV (разделитель - ";", а символ кавычки -""), когда синтаксический анализ неверного формата, как показано в строке ниже:
столбец1;"столбец2"; колонка ""3
Результатом является массив значений:
a[0] = column1, a[1] = column2, a[2] = column"3
Но я думаю, что это неверный результат, потому что ввод (в строке: столбец ""3) нарушает правило 5 RFC 4180 ( https://tools.ietf.org/html/rfc4180):
Каждое поле может быть или не быть заключено в двойные кавычки (однако некоторые программы, такие как Microsoft Excel, вообще не используют двойные кавычки). Если поля не заключены в двойные кавычки, то двойные кавычки могут не появляться внутри полей.
Кто-нибудь знает, как обнаружить это нарушение в openCSV?
1 ответ
OpenCSV просто анализирует файл / строки, которые он не проверяет. Основанный на параметрах, пока он может анализировать строки, он не выдает ошибок. Это делает основное предположение, что строка действительна.
Используете ли вы версию 3.9 opencsv с RFC4180Parser? Это должно дать вам другой ответ:)