这适用于 F#。
我有一个 .data 文件,它有 4 行:城镇、人口、自治市和农村或城市类型的城镇。我已经使用 Int32.Parse 解析了“人口”列。
我的问题是,如何根据自治市名称添加每一行的人口?也就是说,有几个城镇属于同一个自治市,并且想要添加这些位于同一个自治市的人口。
这是我到目前为止的代码,感谢您的帮助:
open System
let rec convertDataRow(csvLine:string) =
let cells = List.ofSeq(csvLine.Split(','))
match cells with
| name :: popul :: county :: townorcommune :: _ ->
let parsedNumber = Int32.Parse(popul)
(name, parsedNumber, county, townorcommune)
| _ -> failwith "Incorrect data format!"
let rec processLines (lines) =
match lines with
| [] -> []
| currentLine :: remaining ->
let parsedLine = convertDataRow(currentLine)
let parsedRest = processLines(remaining)
parsedLine :: parsedRest
open System.IO
let lines = List.ofSeq(File.ReadAllLines(@"C:\Users\townspopulation.data"))
processLines(lines)