Пример записи выглядит следующим образом (это не факт, и я надеюсь, что у меня выстроены все столбцы):
Код: Выделить всё
Number,Name,Description,ColX,ColY,ColZ,UOM,Size,Color,URL
361920,END CAP 97" SLT GRY,"This is a quoted field with commas, Not all Rows are quoted
",Products,SomeData,97" Cap,PC,,,https://url.jpg,C-453
Но когда я оставлю экранирование включенным, я получаю исключение BadDataException.
Некоторые примеры кода с использованием CsvHelper:
Код: Выделить всё
var config = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture)
{
};
using (var reader = new StreamReader(path))
using (var csv = new CsvReader(reader, config))
{
while (csv.Read())
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine(csv.GetField(i));
}
}
}
Я также обнаружены случаи, когда поле в кавычках содержит неэкранированные кавычки, поэтому одно поле может выглядеть так:
Код: Выделить всё
"SomeDesc,"Still Same" Field
"
Пока лучшее, что я нашел, — это открыть каждый файл (сотни из них в Excel) и сохраните их как CSV. Кажется, Excel способен справиться с этим и затем сохранить в хорошем формате.
Подробнее здесь: https://stackoverflow.com/questions/790 ... nt-quoting
Мобильная версия