读取2点之间的csv文件

时间:2014-05-23 09:13:32

标签: c#

我有一个csv文件,这个文件的开头和结尾都是我不需要的垃圾。

我正在使用ling来阅读文件

string startingline="start";
string endline="end";

var lines = File.ReadLines(myFile, Encoding.Default)
    .Skip(1)
    .Select(line => line.Split(new[] { "  " }, StringSplitOptions.RemoveEmptyEntries)).ToList();

鉴于我有一个开始阅读和结束阅读 我怎样才能得到这两行之间的文字?

任何建议?

更新以及文档样本:

start

Name,Surname,City,Country

jo,Bloggs,London,Uk,

Name,Surname,City,Country


Mark,Smith,Paris,France,

end

我无法控制这份文件

1 个答案:

答案 0 :(得分:1)

您必须合并Skip / SkipWhileTake / TakeWhile

var lines = File.ReadLines("Path", Encoding.Default)
        .SkipWhile(l => l.Trim() != "start").Skip(1) 
        .TakeWhile(l => l.Trim() != "end")
        .Select(line => line.Split(new[] { "  " }, StringSplitOptions.RemoveEmptyEntries))
        .ToList();

我在Skip(1)后面使用了SkipWhile来省略行"start",因为你想要之间的行