[英]F# csv provider with different column order
如果我定义一个类型
type MyType = CsvProvider<"schema.csv",
Schema="A->MyA=int, B->MyB=int">
如果我加载csv就好
let csv1 = MyType.Load("file1.csv")
如果“file1.csv”包含“schema.csv”具有但具有不同顺序的所有列,并且具有未在“schema.csv”中出现的额外列。 如果我只对“schema.csv”中指定的列感兴趣,我还可以加载它吗?
你有一个锁定的CSV文件架构,并使用CsvProvider,或者你没有。
你总是可以选择“恢复”到CsvFile(CsvParser): http ://fsharp.github.io/FSharp.Data/library/CsvFile.html
使用后者,您可以轻松解析任何CSV文件,确认它具有您想要的列,然后按需读取它们。
我通常会回复到CsvFile,因为经常创建CSV文件有点非结构化并且非常特别(至少在我遇到过的情况下),然后CsvFile是一个很好的解决方案,在CsvProvider中具有更大的灵活性。 是的还有更多的代码,但仍然......
不支持该用例。 如果列顺序不同,则不起作用。 整个CsvProvider建立在您给出的数据与您提供的样本结构相同的假设之上。 您可以随时在此处提交问题: https : //github.com/fsharp/FSharp.Data/issues/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.