我运行我的.fsx
文件,如
>fsi A.fsx
在这个文件中,我用CsvProvider读取了csv,它必须有csv数据的路径。
type Data = CsvProvider<"my_data.txt", ";", Schema
我需要将文件名作为命令行参数传递,这是可能的
>fsi A.fsx my_data.txt
我可以像
一样阅读let originalPath = fsi.CommandLineArgs.ElementAt(1)
问题是,CsvProvider
构造函数中使用的文件名需要是常量,而命令行参数不是。如何从命令行参数初始化CsvProvider?
答案 0 :(得分:6)
角括号<"my_data.txt"...>
内的值指定示例格式文件,并在编译时进行检查,因此需要将其作为常量字符串。假设您的.fsx脚本只想加载相同通用格式的其他CSV文件,您可以使用
let contents = Data.Load(originalPath)