Пример записи выглядит так (это не факт, и я надеюсь, что у меня есть все столбцы в ряд):
Код: Выделить всё
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, похоже, справится с этим, а затем сохранит в хорошем формате
Подробнее здесь: https://stackoverflow.com/questions/790 ... nt-quoting