【发布时间】:2015-07-25 20:31:29
【问题描述】:
我是 F# 新手,对函数式语言没有太多经验。我需要在制表符分隔文件的几列中选择值。我找到了如何将文本文件的行读入序列,但序列似乎不像数组那样工作,我不知道如何从中选择特定值。任何人都可以帮忙吗?谢谢。
【问题讨论】:
我是 F# 新手,对函数式语言没有太多经验。我需要在制表符分隔文件的几列中选择值。我找到了如何将文本文件的行读入序列,但序列似乎不像数组那样工作,我不知道如何从中选择特定值。任何人都可以帮忙吗?谢谢。
【问题讨论】:
您应该可以使用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
【讨论】: