Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# 在指定架构时,是否可以将自定义类型与FSharp.Data.CsvProvider一起使用?_F#_Type Providers_F# Data_Fsharp.data.typeproviders - Fatal编程技术网

F# 在指定架构时,是否可以将自定义类型与FSharp.Data.CsvProvider一起使用?

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行中尝试了一些模式参数的排列,但到目前

我在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行中尝试了一些
模式
参数的排列,但到目前为止没有任何效果。例如:

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)">