繁体   English   中英

具有不同列顺序的F#csv提供程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM