我是初学者并开始使用FSharp.Data库 http://fsharp.github.io/FSharp.Data/library/CsvProvider.html
let rawfile = CsvFile.Load("mydata.csv")
for row in rawfile.Rows do
let d = System.DateTime.Parse (row.GetColumn("Date"))
let p = float (row.GetColumn("Close Price"))
printfn "%A %A" d p
price_table.[BTC].Add (d,p)
我有一个csv文件,其最后一行我想忽略因为 它们类似于"这些数据是由......产生的。
顺便说一句,即使我删除了这些行,保存文件,当我再次重新打开那些细胞时,再次出现......粘性的那些!!!答案 0 :(得分:0)
CsvFile.Load
有一个过载需要TextReader
派生的参数。
如果你知道要跳过多少行,你可以在文件上创建StreamReader
,你可以跳过ReadLine
行。
use reader = StreamReader("mydata.csv")
reader.ReadLine() |> ignore
reader.ReadLine() |> ignore
let rawfile = CsvFile.Load(reader)
答案 1 :(得分:0)
如果您可以将整个scv加载到内存中,那么您可以简单地反转行,跳过您想要的内容,然后(可选)反转。
示例:
let skipNLastValues (n:int) (xs:seq<'a>) =
xs
|> Seq.rev
|> Seq.skip n
|> Seq.rev
for i in (skipNLastValues 2 {1..10}) do
printfn "%A" i