F# 数据类型提供程序 ;CSVProvider 初始化时出错



我正在尝试使用解决方案中引用的 FSharp.Data 设置一个小型 F# 控制台应用程序。我在运行时收到以下错误:

An unhandled exception of type 'System.TypeInitializationException' occurred in Anot_F1.exe

对于此代码(第 4 行中的错误):

1 open FSharp.Data
2 type Anot_lines = CsvProvider<"anot1.csv",Separators=";">
3 let ll = Anot_lines.Load("anot1.csv")
4 for r in ll.Rows do
5   printfn "%A" r.ToString

在第 3 行之后的调试模式下,我可以看到变量 ll 包含正确的 Headers 但没有显示行。我的 CSV 文件是 :

tline;tcol;bline;bcol;anot
3;1;4;16;"Barack Obama has ... The US president"
3;1;3;12;"Barack Obama"
3;18;3;26;"ratcheted"
4;102;4;109;"agencies"
4;289;4;306;"financial pressure"
4;1;4;320;"The US president ...ure on the regime"
4;1;4;16;"The US president"

我是 F# 的新手,尤其是没有使用类型提供程序的经验。任何帮助非常感谢。

问题出在第 3 行,您使用的是从 URL 加载 CSV 数据的方法。你需要使用 GetSample() 方法。另请注意,"%A"格式的占位符可以打印任何值,并且不需要 ToString() 调用。

let ll = Anot_lines.GetSample()
for r in ll.Rows do
    printfn "%A" r

最新更新