在F#中向CsvProvider类型添加新成员

时间:2016-04-15 20:18:35

标签: csv f# record type-providers

我正在使用FSharp.Data中的CsvProvider读取F#中的CSV文件。有没有办法添加新的(计算的)列而不将其转换为全新的类型?

open FSharp.Data

type Person = CsvProvider<"persons.csv">
let personData = Person.Load "persons.csv"

如果Person有一个名为YearOfBirth的成员,则可以为其添加名为Age的新成员,该成员的所有CSV的计算值均为(DateTime.Now.Year - YearOfBirth)行?

1 个答案:

答案 0 :(得分:6)

这取决于你想要什么,但这可能有效:

type Person.Row with
    member this.Age = DateTime.Now.Year - this.YearOfBirth