这是我的嵌套地图示例,数据为文字。该程序按预期工作。斯卡拉嵌套地图 - 如何处理?
var x = scala.collection.mutable.Map(
("Early", Map(("a", 1), ("b", 2))),
("Late", Map(("x", 24), ("y", 25))))
for (ticker <- x.keys) {
val trades = x(ticker)
for (tradetime <- trades.keys) {
val tradetotal = trades(tradetime)
println(ticker + " | " + tradetime + " | " + tradetotal)
}
println(ticker + " | " + trades)
}
但是,我想消除文字,并从csv文件中读取上述值。这里是csv:
Early,a,1
Early,b,2
Late,x,24
Late,y,25
这是读取csv并以类似于以上程序文字打印出来的值的代码。
val bufferedSource = io.Source.fromFile("mapt.csv")
val builder = StringBuilder.newBuilder
for (line <- bufferedSource.getLines) {
val cols = line.split(",").map(_.trim)
println(s"${cols(0)}|${cols(1)}|${cols(2)}")
var tmp = cols(0) // s"${cols(0)}"
val inner = scala.collection.mutable.Map.empty[String, Int]
inner(cols(1)) = cols(2).toInt
println(inner)
val outer = scala.collection.mutable.Map.empty[String, String]
outer(cols(0)) = inner
println(outer)
}
bufferedSource.close
我的代码无效。我正在努力寻找关于如何处理嵌套地图的指导。我正在学习Scala。感谢任何建议,从csv文件数据创建嵌套的地图。
我得到以下错误:
你得到什么错误? – mfirry
我添加了错误的屏幕截图。 – Fred