0
這是針對F#的。在F#中添加基於其他行值的行的值
我有一個.data文件,它有4行: 城鎮,人口,城市,以及農村或城鎮類型的城鎮。 我已經使用Int32.Parse解析了列「population」。
我的問題是,我該如何添加基於市政府名稱的每一行的人口?這就是說,有幾個城鎮屬於同一個城市,並且想要添加這些在同一城市的人口。
這是我到目前爲止,任何幫助表示讚賞代碼:
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)
有一個更短的一行這一點,但我聞到前家庭作業。 – Daniel