Lib*_*tal 1 csv filehelpers f# parsing
我从我发现的一些资源中编写了这个脚本.它工作但我有些文件我有问题.我是F#的新手,所以如何使用FileHelpersException更改行以获得确切的行问题?谢谢
// Learn more about F# at http://fsharp.net
// See the 'F# Tutorial' project for more help.
open FileHelpers
open System
[<DelimitedRecord(",")>]
type CsvRecord =
class
val field1 : string
val field2 : string
val field3 : int
new () = {
field1 = ""
field2 = ""
field3 = 0
}
end
[<EntryPoint>]
let main argv =
use file = System.IO.File.CreateText("result.txt")
let engine = new FileHelperEngine<CsvRecord>()
engine.Encoding <- new Text.UTF8Encoding()
let res =
try
engine.ReadFile("test.csv")
with
| :? FileHelpersException -> Array.empty<CsvRecord>
for record in res do
fprintfn file "%s" record.field1
printf "DONE!"
let s = Console.ReadLine()
0 // return an integer exit code
Run Code Online (Sandbox Code Playgroud)
我建议你改用CsvTypeProvider.当出现不匹配时,错误消息会指出出错的行
open FSharp.Data
[<EntryPoint>]
let main argv =
use file = System.IO.File.CreateText("result.txt")
let csv = new CsvProvider<"test.csv">()
for record in csv.Data do
fprintfn file "%s" record.field1
Run Code Online (Sandbox Code Playgroud)
如果要忽略有错误的行,只需将其IgnoreErrors=true作为额外参数传递给CsvProvider
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |