我有一个包含两行的csv文件,第一行是标题行,其中包含由,
分隔的36列
第二行是值,由,
我想阅读第二行,我发现所有人都在讨论csvHelper package,所以我下载了它,但它没有任何dll
可以添加到我的项目中。< / p>
我的问题是如何包含它以及如何阅读第二行。
我知道我可以使用Install-Package CsvHelper
安装它,但我不想这样,因为我想在服务器上部署此应用程序。因此,我更喜欢如果有add reference
之类的东西。
如果我知道如何包含它,那么阅读第二行并不难。 我会做这样的事情:
,
。答案 0 :(得分:17)
您可以使用TextReader.ReadLine()
跳过第一行:
using (TextReader reader = File.OpenText("filename"))
{
reader.ReadLine();
// now initialize the CsvReader
var parser = new CsvReader( reader ); // ...
}
答案 1 :(得分:6)
接受的答案是针对该问题的解决方法,但该库具有针对此常见情况的一流解决方案
CsvConfiguration
类的属性HasHeaderRecord
可以设置为true
,这会导致库跳过文件的第一行。
CsvConfiguration configuration = new CsvConfiguration { HasHeaderRecord = true };
using (TextReader sr = new StringReader(fileContent))
{
CsvReader reader = new CsvReader(sr, configuration);
}
的摘录
较新版本的库中的该标志告诉读写器CSV文件中是否有标题行。
更新,类CsvConfiguration
刚刚重命名为Configuration