2016-03-08 145 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()