0

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

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

4

2 回答 2

2

它最终会看起来像这样。

reader.ReadLine();

var text = reader.ReadToEnd();

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

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

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

于 2013-08-13T22:26:39.933 回答
1

一种方法,使用File.ReadLinesand Enumerable.Skip

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

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

如果您正在使用 a StreamReader,请使用ReadLine()并且什么也不做:

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

    // ...
于 2013-08-13T22:25:50.803 回答