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

时间:2013-08-13 22:23:41

标签: c# csv

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

我只是想知道如何不读取csv文件的第一行并阅读其余部分。有时,.txt,.csv等数据文件包含不同类型的数据。在csv文件中,它可能在第一行中有“商店目录”作为标题,然后有一个电话号码,一个所有者名称,从第二行开始的每行销售。

2 个答案:

答案 0 :(得分:2)

它最终会看起来像。

reader.ReadLine();

var text = reader.ReadToEnd();

或者您可以执行以下操作:

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

当然,这是假设您正在使用内置的.NET读取器。

答案 1 :(得分:1)

单向,使用File.ReadLinesEnumerable.Skip

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

如果您想了解ReadAllLinesReadLines之间的区别,请阅读remarks部分。

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

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

    // ...