如何使用 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 阅读器将为您解析并处理带双引号的字段。
我正在尝试使用以下代码读取 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 阅读器将为您解析并处理带双引号的字段。