2015-01-05 6 views
1

솔루션에서 참조 된 FSharp.Data로 작은 F # 콘솔 앱을 설정하려고합니다. 내가 런타임에 다음과 같은 오류가 발생했습니다 :이 코드를F # 데이터 형식 공급자; CSVProvider 초기화시 오류가 발생했습니다.

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

(4 행에 오류) : 3 호선 후

디버그 모드에서
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 

, 나는 변수 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

문제는 3 행에서 URL에서 CSV 데이터를로드하는 방법을 사용하고 있습니다. GetSample() 메서드를 사용해야합니다. 또한 "% A"형식 자리 표시자는 모든 값을 인쇄 할 수 있으며 ToString() 호출이 필요하지 않습니다.

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

감사합니다. Taha이지만 GetSample()은 헤더를로드하지 않습니다. 디버그 모드에서 for 문 앞에 빈 변수가 생기고 더 이상 헤더를 볼 수 없습니다. – FZed

+0

ll.Headers가 헤더를 반환합니다. – Taha

+0

헤더가 걱정되는 이유는 이제 각 행의 강력한 유형의 속성입니다. – Taha

관련 문제