如何使用csvHelper读取csv文件中的第二行
本文关键字:二行 csvHelper 何使用 读取 csv 文件 | 更新日期: 2023-09-27 18:15:28
我有一个csv文件,有两行,第一行是标题行,其中包括36列,由,
第二行是值,由,
我想读第二行,我发现所有人都在谈论csvHelper包,所以我下载了它,但它没有任何dll
添加到我的项目。
我的问题是如何包含它以及如何阅读第二行。
我知道我可以使用Install-Package CsvHelper
来安装它,但是我不想这样,因为我想在服务器上部署这个应用程序。因此,我更喜欢如果有像add reference
之类的方法。
如果我知道如何包含它,阅读第二行就不会很难了。我会这样做:
- 加载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