在C#中读取csv文件时,如何忽略csv文件中的第一行

本文关键字:文件 csv 一行 读取 何忽略 | 更新日期: 2023-09-27 18:27:29

我现在如何在C#中读取csv文件。例如,文件数据由三列组成,您可以创建一个有三列的数组,行数无关紧要,因为您可以使用例如while循环来读取csv文件,直到它变为null。

我只想知道如何不读取csv文件的第一行,而读取它的其余部分。有时,.txt、.csv等数据文件包含不同类型的数据。在csv文件中,它可能在第一行有"商店目录"作为标题,然后在第二行的每一行都有电话号码、所有者姓名和每月销售额。

在C#中读取csv文件时,如何忽略csv文件中的第一行

它最终会看起来像。

reader.ReadLine();
var text = reader.ReadToEnd();

或者你可以做一些类似的事情:

var text = reader.ReadAllLines();
text = text.Skip(1);

当然,这一切都是假设您使用的是内置的.NET阅读器。

单向使用File.ReadLinesEnumerable.Skip:

IEnumerable<string> allButFirstLine = File.ReadLines(path).Skip(1);

如果您想知道ReadAllLinesReadLines之间的区别,请阅读备注部分。

如果您使用的是StreamReader,请使用ReadLine(),不执行任何操作:

using (var reader = new System.IO.StreamReader(path, encoding))
{
    // change numToSkip accordingly
    for (int i = 0; i < numToSkip; i++) 
        reader.ReadLine();  
    // ...