這是我的嵌套地圖示例,數據爲文字。該程序按預期工作。斯卡拉嵌套地圖 - 如何處理?
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