我现在如何在 C# 中读取 csv 文件。例如,文件数据由三列组成,您可以创建一个包含三列的数组,并且行数无关紧要,因为您可以使用,例如读取 csv 文件直到它为空的 while 循环。
我只想知道如何不读取 csv 文件的第一行并读取其余部分。有时,.txt、.csv 等数据文件包含不同类型的数据。在 csv 文件中,它的第一行可能有“商店目录”作为标题,然后在第二行的每一行中都有电话号码、所有者姓名、月销售额。
它最终会看起来像这样。
reader.ReadLine();
var text = reader.ReadToEnd();
或者您可以执行以下操作:
var text = reader.ReadAllLines();
text = text.Skip(1);
当然,这一切都假设您使用的是内置的 .NET 阅读器。
一种方法,使用File.ReadLines
and Enumerable.Skip
:
IEnumerable<string> allButFirstLine = File.ReadLines(path).Skip(1);
如果您想知道两者之间的区别ReadAllLines
并ReadLines
阅读备注部分。
如果您正在使用 a StreamReader
,请使用ReadLine()
并且什么也不做:
using (var reader = new System.IO.StreamReader(path, encoding))
{
// change numToSkip accordingly
for (int i = 0; i < numToSkip; i++)
reader.ReadLine();
// ...