解析非常简单的CSV并在F#中打印第一列

时间:2019-03-04 21:06:54

标签: f# f#-data

我正在尝试将以下C#代码写入F#:

List<string> addresses = File.ReadLines(CsvPath).Select(x => x.Split(';')[0]).Distinct().ToList();
addresses.ForEach(a => Console.WriteLine(a));

这是我想出的:

let addresses = File.ReadLines(CsvPath) |> Seq.iter (fun s1 ->
    s1.Split [|';'|].[0]
    |> Console.WriteLine
)

但是这将输出System.String []而不是该行的第一个字符串值...

1 个答案:

答案 0 :(得分:1)

您需要将s1.Split的参数放在括号中,以便您实际上在结果上而不是参数上建立索引。

let addresses = 
    File.ReadLines(CsvPath)
    |> Seq.iter (fun s1 ->
        s1.Split([|';'|]).[0]
        |> Console.WriteLine)
相关问题