F# - 将CsvProvider类型转换为现有类型

时间:2018-04-07 16:34:49

标签: csv f# type-providers

我有一个现有的已定义类型 XRecord ,并希望将推断的CsvProvider类型 CsvRecord 转换为XRecord,或者使用XRecord作为架构从csv导入。请注意,CsvRecord将与XRecord具有相同或更少的列,但始终包含 ID

此外,如果推断类型中的属性少于现有类型,会发生什么?

module SOQN =

    open System
    open System.IO
    open FSharp.Data

    type XRecord = 
        {
            ID          : string
            Class       : bool
            Alpha       : string
            Bravo       : string
            Charlie     : string
            Delta       : string
        }

    let [<Literal>] csvInput  = @"F:\data\Test.csv"
    type CsvRecord = CsvProvider<csvInput, ",">

    // ----------------------------------------------------------------------------

    [<EntryPoint>]
    let main argv =
        let records = CsvRecord.Load(csvInput )
        printfn "\nFini!\n"
        0

0 个答案:

没有答案