gpt4 book ai didi

c# - F# Data CsvProvider 从 C# 应用程序 Interop 使用

转载 作者:太空狗 更新时间:2023-10-30 01:19:07 26 4
gpt4 key购买 nike

前面的极端菜鸟学习问题:我有一个模块,我想在我的 C#(通用)应用程序中使用。 C# 应用程序将下载并解压缩一个包含 12 个始终遵循相同格式的 CSV 的文件。所以我所做的是提前下载 CSV,并将它们添加到我的解决方案中,以便 CsvProvider<"thefile.csv"> 中引用的文件将在编译时存在。

namespace ExperimentalFSLibrary    
module CsvHelper =
open FSharp.Data
let GetCsvA path =
CsvProvider<"thefileA.csv">.Load(path)

然后像这样从我的 C# 应用程序中调用它:

var ReceivedCsvA = ExperimentalFSLibrary.CsvHelper.GetCsvA

我没有成功从 F# 库中获取数据

还有如何处理十二个不同文件的问题,因为我必须为 CsvProvider 指定模板文件,我想我必须编写 12 个不同的函数?

我搜索了 SO 并找到了让我走到这一步的东西,但我碰壁了。非常感谢任何帮助,包括完整性检查。

最佳答案

FSharp.Data 中的CsvProvider 是删除类型提供程序。这意味着在 C# 中没有可消费和使用的类型。

许多 F# 类型的提供程序,例如这个,只有在 F# 中使用时才有用。

在这种情况下,您最好解析 CSV 数据并通过 C# 代码中的一些 API 消耗品返回您需要的结果。

There's also the issue of how to deal with twelve different files, since I have to specify the template file for the CsvProvider, I imagine I'd have to write 12 different functions?

通常,每个文件结构,而不是每个文件,您都需要一个单独的函数。如果这 12 个文件都使用相同的列/标题/等,那么单个类型提供程序类型将适用于它们中的每一个。提供的静态文件名仅用于确定生成类型的列结构。

关于c# - F# Data CsvProvider 从 C# 应用程序 Interop 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24274760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com