我是F#的新手,并且没有很多函数式语言的经验。我需要在制表符分隔文件的几列中选择值。我已经找到了如何将文本文件的行读入序列,但序列似乎不像数组一样工作,我无法弄清楚如何从它们中选择特定的值。有人可以帮忙吗?感谢。
答案 0 :(得分:1)
您应该可以使用CSV type provider来执行此操作。它也支持制表符分隔的文件(请参阅该页面上的“自定义分隔符和制表符分隔文件”部分。)
要使用类型提供程序,您需要一个示例(也可能是您的实际输入文件)。然后,您可以告诉类型提供程序根据您的示例推断类型。如果您有tsv
扩展名,它会自动将其视为制表符分隔,但您也可以明确指定分隔符:
type MyFormat = CsvProvider<"C:/sample.tsv", Separators="\t">
然后您可以使用推断类型来读取您的数据:
let data = MyFormat.Load("C:/mydata.tsv")
for row in data.Rows do
printfn "%s" row.YourColumn