如何使用 C# 在 CsvReader 中读取双引号 (")?

How to read double quotes (") in CsvReader using c#?

我正在尝试使用以下代码读取 csv 文件。如果数据中有双引号("),它会抛出异常。我想在阅读时处理所有特殊字符。

using (TextReader reader = new StreamReader("C:\test\test.csv"))
{
    using (CsvReader csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    {
        csv.Read();
        csv.ReadHeader();
        while (csv.Read())
        {
           var result= csv[0].Split(';');
        }
     }
}

我的 CSV 文件:csv.Read 在第 3 行失败

Name;Location;State;Country
Keka1;Lansing; MI; USA
Keka2;"Ohio"; OH; USA  // Error at this line 
Keka3;Lansing; MI; USA

我不想转义引号,但想包含它。请指教

您正在使用哪个 CsvReader class? (我写了一个这样的 class,叫做 SoftCircuits.CsvParser。)

无论哪种方式,您都没有正确使用它。您拥有的代码可以只使用常规输入流,因为您似乎一次读取一行然后对其进行解析。 CSV 阅读器将为您解析并处理带双引号的字段。