F#CSV提供程序类型不匹配

时间:2014-10-02 15:23:28

标签: csv f# analytics type-providers f#-data

我遇到了F#CSV类型提供程序的问题,导致类型不匹配。我是F#的新手,所以很可能是一个基本问题。我已将文件放在blob存储上,因此您可以更轻松地复制。 https://analyzethis.blob.core.windows.net/voterinfo/WakeCountyVoterCSV 注意:您需要将提供程序文件位置更改为下载位置才能完全复制。您也可以从blob动态加载。

我得到的错误是:

类型不匹配:期望seq< CsvProvider< ...> .Row> - > INT

但是给出了

SEQ< CsvProvider< ...> .Row> - >单元

类型int与单位

不匹配

代码:

open FSharp.Data
type voterType = CsvProvider<"C:\\Users\\dacrook\\Documents\\vrdb\\VoterCSVData2.csv", AssumeMissingValues=true, MissingValues="">

[<EntryPoint>]
let main argv = 
    let voterData = voterType.Parse("C:\\Users\\dacrook\\Documents\\vrdb\\VoterCSVData2.csv")
    voterData.Rows |> Seq.iter(fun r -> printfn "%A" r)

非常感谢任何帮助!

谢谢,

〜大卫

1 个答案:

答案 0 :(得分:2)

main的返回类型为int,因此main函数中的最后一行代码需要是一个int表达式

open FSharp.Data
type voterType = CsvProvider<"C:\\Users\\dacrook\\Documents\\vrdb\\VoterCSVData2.csv",   AssumeMissingValues=true, MissingValues="">

[<EntryPoint>]
let main argv = 
    let voterData = voterType.Parse("C:\\Users\\dacrook\\Documents\\vrdb\\VoterCSVData2.csv")
    voterData.Rows |> Seq.iter(fun r -> printfn "%A" r)
    0  // <--- Add an int as the return value