如何使用csvHelper读取csv文件中的第二行

时间:2014-07-29 11:18:56

标签: c# csv csvhelper

我有一个包含两行的csv文件,第一行是标题行,其中包含由,分隔的36列

第二行是值,由,

分隔的值为36

我想阅读第二行,我发现所有人都在讨论csvHelper package,所以我下载了它,但它没有任何dll可以添加到我的项目中。< / p>

我的问题是如何包含它以及如何阅读第二行。

我知道我可以使用Install-Package CsvHelper安装它,但我不想这样,因为我想在服务器上部署此应用程序。因此,我更喜欢如果有add reference之类的东西。

如果我知道如何包含它,那么阅读第二行并不难。 我会做这样的事情:

  1. 加载csv文件
  2. 阅读第一行并忽略它。
  3. 阅读第二行并将其拆分为,

2 个答案:

答案 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);
}

这是Documentation

的摘录
  

该标志告诉读写器CSV文件中是否有标题行。

较新版本的库中的

更新,类CsvConfiguration刚刚重命名为Configuration