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

时间:2015-01-05 04:54:32

标签: f# f#-data

我正在尝试使用解决方案中引用的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包含正确的标题但不显示行。 我的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#的新手,尤其没有使用类型提供程序的经验。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

问题出在第3行,您正在使用从URL加载CSV数据的方法。您需要使用GetSample()方法。还要注意&#34;%A&#34; format占位符可以打印任何值,也不需要ToString()调用。

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