2016-03-08 112 views
1

我想使用FSharp.Data CSVProvider读取csv文件。CSVProvider开始读取特定行的csv

的数据是这样的:

;Datum;Von;bis;MW 
Maximum;16.10.2015;19:00;19:15;9268,000 
Minimum;26.12.2015;13:30;13:45;-5195,000 

"Datum";"Von";"bis";"Vertikale Netzlast [MW]"; 
01.01.2015;00:00;00:15;1.216; 
01.01.2015;00:15;00:30;1.121; 
01.01.2015;00:30;00:45;1.090; 
01.01.2015;00:45;01:00;981; 

我想用下面的代码:

let csvValues = CsvProvider<"http://ws.50hertz.com/web01/api/PhotovoltaicForecast/DownloadFile?fileName=2015.csv&callback=?", ";">.GetSample() 

我怎么可以开始阅读5行的文件,或者如果第一列包含“原点“?

+0

@GuyCoder首先我不是新的,其次我接受几乎所有的问题都是正确答案?你的意思是? – CPA

+0

您应该在关键字'slice'上搜索列表或seq。这应该给你一个想法。 –

+0

你的权利。我没有看到其他页面。 –

回答

2

它正在与SkipWhile:

let csvValues = CsvProvider<"http://ws.50hertz.com/web01/api/PhotovoltaicForecast/DownloadFile?fileName=2015.csv&callback=?", ";", IgnoreErrors=true>.GetSample() 
        .SkipWhile(fun r -> not (r.Column1.Contains("Datum"))) 

或者这也是工作,有一个选项在构造函数中跳过行:

let csvValues = CsvProvider<"http://ws.50hertz.com/web01/api/PhotovoltaicForecast/DownloadFile?fileName=2015.csv&callback=?", ";", IgnoreErrors=true, SkipRows=3>.GetSample()