我正在尝试使用解决方案中引用的 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