【发布时间】:2018-03-25 08:59:50
【问题描述】:
我有一个包含每日体重的 csv 文件,如下所示:
Date,Name,Weight
11-Sep-2017,Alpha,9-1
13-Sep-2017,Alpha,8-13
15-Sep-2017,Alpha,8-11
虽然我可以使用 CsvProvider 成功导入它们,但权重列默认为 System.DateTime。
// Weight
[<Measure>] type lb
[<Literal>]
let input = "DayWeights.csv"
type Weights = CsvProvider<input, HasHeaders=true>
let data = Weights.GetSample()
for row in data.Rows do
printfn "Output: (%A, %A, %A)" row.Date row.Name row.Weight
是否可以创建一个计量单位 (UoM) 来定义“stlb”,并可选择在导入时转换为 lbs,如果可以,如何?
【问题讨论】:
-
你没有指定任何类型,所以类型提供者必须推断类型。为什么要使用 unknown
lb度量?顺便说一句,人类为什么会这样?-不用作任何数值的分隔符 -
很遗憾,我无法控制 csv 文件的格式。
-
不是文件。提供者无法通过查看数据来猜测您想要使用
lb。你必须告诉它使用哪种类型 -
如果我可以将权重字段作为字符串导入并且不会遭受 System.DateTime 自动转换,这会有所帮助吗?