Вчера я столкнулся с подобной проблемой. Мы получили файл csv, который использует запятую (,) как разделитель и двойную кавычку (") в качестве текстового классификатора, но есть поле, содержащее двойную кавычку в двойной кавычки (неэкранированная двойная кавычка внутри строки). Проведя половину дневного поиска , придумал решение ниже,
var fileContent = File.ReadAllLines(fullFilePath); //load the file into a one dimensional string array. fullFilePath is the full path + the file name.
var fileContentUpdated = fileContent.Select(x => new Regex(@"(?<!^)(?<!\,)""(?!\,)(?!$)").Replace(x, "'")).ToArray(); //this line here finds the double quote within the double quote and replace it with single quote
File.WriteAllLines(fullFilePath, fileContentUpdated); //write the string array into the csv file.
Я не вижу другого способа, кроме замены двойной цитаты чем-то другим, чтобы избежать проблемы.