CSVProvider开始在特定行读取csv

时间:2016-03-08 17:07:42

标签: csv f# f#-data

我想使用FSharp.Data 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行读取文件或第一列是否包含“Datum”?

1 个答案:

答案 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()