Я использую отличную библиотеку FileHelpers для импорта многих файлов csv, но сталкиваюсь с проблемой. У меня есть файл csv с этими тремя примерными строками
id,text,number
120,"good line this one",789
121,""not good" line", 4456
122,,5446
и этот (пример) класс
[IgnoreFirst(1)]
[IgnoreEmptyLines()]
[DelimitedRecord(",")]
public sealed class JOURNAL
{
public Int32 ID;
[FieldQuoted('"', QuoteMode.AlwaysQuoted, MultilineMode.NotAllow)]
public string TEXT;
public Int32? NUMBER;
}
Проблема с QuoteMode.AlwaysQuoted
заключается в том, что ID 122 завершится с ошибкой:
Поле "ТЕКСТ" не начинается с QuotedChar в строке 3. Вы можете использовать FieldQuoted (QuoteMode.OptionalForRead) для предоставления необязательного поля с кавычками
Переход на QuoteMode.OptionalForRead
завершится с ошибкой для id 121:
Поле TEXT цитируется, но цитируется char: "не только перед разделитель (вы можете использовать [FieldTrim] для избегайте этой ошибки)
Итак, как я могу обрабатывать csv, который имеет пустые поля без кавычек И цитируемые текстовые поля с дополнительными кавычками в тексте?