在 C# 中是否有默认/官方/推荐的方式来解析 CSV 文件?我不想推出自己的解析器。
此外,我还看到有人使用 ODBC/OLE DB 通过文本驱动程序读取 CSV,但由于其“缺点”,许多人不鼓励这样做。这些缺点是什么?
理想情况下,我正在寻找一种方法,通过它我可以按列名读取 CSV,使用第一条记录作为标题/字段名称。给出的一些答案是正确的,但基本上可以将文件反序列化为类。
最佳答案
CSV 解析器现在是 .NET Framework 的一部分。
添加对 Microsoft.VisualBasic.dll 的引用(在 C# 中工作正常,不要介意名称)
using (TextFieldParser parser = new TextFieldParser(@"c:\temp\test.csv"))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
while (!parser.EndOfData)
{
//Process row
string[] fields = parser.ReadFields();
foreach (string field in fields)
{
//TODO: Process field
}
}
}
文档在这里 - TextFieldParser Class
附言如果您需要 CSV 导出器,请尝试 CsvExport (discl:我是贡献者之一)
关于c# - 在 C# 中解析带有标题的 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2081418/