我遇到了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)
非常感谢任何帮助!
谢谢,
〜大卫
答案 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