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