[英]Command line args in F# fsx
我运行我的.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?
角括号<"my_data.txt"...>
内的值指定示例格式文件,并在编译时进行检查,因此需要将其作为常量字符串。 假设您的.fsx脚本只想加载相同通用格式的其他CSV文件,您可以使用
let contents = Data.Load(originalPath)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.