解析一个非常简单的 CSV 并在 F# 中打印第一列
Parsing a very simple CSV and printing the first column in F#
我正在尝试将以下 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[] 而不是该行的第一个字符串值...
您需要将 s1.Split
的参数放在括号中,这样您实际上索引的是结果,而不是参数。
let addresses =
File.ReadLines(CsvPath)
|> Seq.iter (fun s1 ->
s1.Split([|';'|]).[0]
|> Console.WriteLine)
我正在尝试将以下 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[] 而不是该行的第一个字符串值...
您需要将 s1.Split
的参数放在括号中,这样您实际上索引的是结果,而不是参数。
let addresses =
File.ReadLines(CsvPath)
|> Seq.iter (fun s1 ->
s1.Split([|';'|]).[0]
|> Console.WriteLine)