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

本文关键字:二行 csvHelper 何使用 读取 csv 文件 | 更新日期: 2023-09-27 18:15:28

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

分隔

第二行是值,由,

分隔的36个值

我想读第二行,我发现所有人都在谈论csvHelper包,所以我下载了它,但它没有任何dll添加到我的项目。

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

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

如果我知道如何包含它,阅读第二行就不会很难了。我会这样做:

  1. 加载csv文件
  2. 读取第一行并忽略它
  3. 读取第二行并按,分割。

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

您可以使用TextReader.ReadLine()来跳过第一行:

using (TextReader reader = File.OpenText("filename"))
{
    reader.ReadLine();
    // now initialize the CsvReader
    var parser = new CsvReader( reader ); // ...
}

公认的答案是解决这个问题的一个变通方法,但是对于这种常见情况,库有一流的解决方案
CsvConfiguration类有一个属性HasHeaderRecord,可以设置为true,这将导致库跳过文件中的第一行。

CsvConfiguration configuration = new CsvConfiguration { HasHeaderRecord = true };
using (TextReader sr = new StringReader(fileContent))
{
    CsvReader reader = new CsvReader(sr, configuration);
}

下面是文档

的一个片段

获取或设置一个值,该值指示CSV文件是否有头记录。默认为true。

UPDATE在新版本的库中,类CsvConfiguration刚刚被重命名为Configuration