F# 在指定架构时,是否可以将自定义类型与FSharp.Data.CsvProvider一起使用?
我在F#工作,CSV如下所示:F# 在指定架构时,是否可以将自定义类型与FSharp.Data.CsvProvider一起使用?,f#,type-providers,f#-data,fsharp.data.typeproviders,F#,Type Providers,F# Data,Fsharp.data.typeproviders,我在F#工作,CSV如下所示: When,Where,HowMuch 11/24/2019,Germany,100 EUR 11/25/2019,France,100 EUR 11/26/2019,Switzerland,50 CHF 11/27/2019,USA,75 USD 我正在使用包中的来解析这些数据 type CurrencyDetector = CsvProvider<"Currencies.csv"> 我在CsvProvider行中尝试了一些模式参数的排列,但到目前
When,Where,HowMuch
11/24/2019,Germany,100 EUR
11/25/2019,France,100 EUR
11/26/2019,Switzerland,50 CHF
11/27/2019,USA,75 USD
我正在使用包中的来解析这些数据
type CurrencyDetector = CsvProvider<"Currencies.csv">
我在CsvProvider行中尝试了一些模式
参数的排列,但到目前为止没有任何效果。例如:
type CurrencyDetector = CsvProvider<"Currencies.csv",Schema="When (date),Where (string),HowMuch (Money)">
类型CurrencyDetector=CsvProvider
当
显示为DateTime
和其中
显示为string
时,但是多少
成为名为多少(钱)
的字符串属性:
有没有办法在CsvProvider中使用我自己的类,或者这是不可能的?根据,我认为这是不可能的:
Schema
参数:“可选列类型,在逗号分隔的列表中有效类型为int、int64、bool、float、decimal、date、guid、string、int?、int64?、bool?、float?、decimal?、date?、guid?、int选项、int64选项、bool选项、float选项、decimal选项、date选项、guid选项和string选项您还可以指定一个单位和列的名称,如:name(type),也可以仅覆盖名称。如果不想指定所有列,可以按如下名称引用列:ColumnName=type。“
但是,请注意,在上面中有使用的可能性。因此,您可以探索为货币面额创建度量单位。但是类型提供程序可能要求该列使用不同的格式
在中,您可以找到有关度量单位的更多信息,以及如何“使用映射变换列本身”,这将使您能够将字符串
类型映射到自定义类型。查看,表明行
集合是一系列行
对象,每个对象都是一个元组。因此,您应该能够使用Seq.map
和/或Seq
模块中的任何其他函数对生成的集合进行后期处理
type CurrencyDetector = CsvProvider<"Currencies.csv",Schema="When (date),Where (string),HowMuch (Money)">