在C#中读取CSV时忽略列的最佳方式是什么?
所以我读了一个大的CSV文件,它可能看起来像在C#中读取CSV时忽略列的最佳方式是什么?,c#,linq,csv,C#,Linq,Csv,所以我读了一个大的CSV文件,它可能看起来像 "Intelligent Mail barcode","Sack and Pa","Opt. Endorsement Line","Label ","NAME","COMPANY","DELADDR","CITY","ST","ZIP" "xxxxxxxxxxxxxxxxxxxxxxxxx","T1 P1","******AUTO**MIXED AADC 403","xxxx","xxxxxxxx","xxxxxxxxxxxxxxxx","xxxx
"Intelligent Mail barcode","Sack and Pa","Opt. Endorsement Line","Label ","NAME","COMPANY","DELADDR","CITY","ST","ZIP"
"xxxxxxxxxxxxxxxxxxxxxxxxx","T1 P1","******AUTO**MIXED AADC 403","xxxx","xxxxxxxx","xxxxxxxxxxxxxxxx","xxxxxxxx","xxxxx","xxxx","xxxxx"
"xxxxxxxxxxxxxxxxxxxxxxxxx","T1 P1","******AUTO**MIXED AADC 403","xxxx","xxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxx","xxxxx","xx","xxxxx"
在这种情况下,我希望能够删除前4列。所以,智能邮件,Sack和Pa,选择。背书,标签1将被忽略,与之相关的数据也将被忽略或为空
因此,输出将是
"NAME","COMPANY","DELADDR","CITY","ST","ZIP"
"xxxxxxxx","xxxxxxxxxxxxxxxx","xxxxxxxx","xxxxx","xxxx","xxxxx"
"xxxxxxxxxx","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","xxxxxx","xxxxx","xx","xxxxx"
我怎样才能做到这一点?寻找最简单的方法来做到这一点
以下是我目前如何阅读CSV:
using (StreamReader reader = new StreamReader(fileSaveLocation))
{
string line;
header = reader.ReadLine();
while ((line = reader.ReadLine()) != null)
{
sb.Append(line);
sb.Append(Environment.NewLine);
}
}
我建议使用诸如LINQtoCSV之类的库来处理CSV文件和POCO类之间的序列化,而不是自己用
ReadLine
解析文件。这里有一个文档示例-您应该找到一个经过验证的CSV解析器,而不是自己编写。外面有很多,比如说谢谢,伙计们,我会尽快看一看这些。几乎是重复的: