【发布时间】:2018-07-16 08:56:15
【问题描述】:
我正在学习 Scala 基础知识,并编写了一个代码来从 csv 文件中读取数据并用逗号分隔它。现在我正在尝试解析数据,以便我可以获得这样的地图 Map[Double, String]
所以我决定将其放入Map[Double, String],因为我的文件包含两个字段(saleId (Double) 和 saleType (String))。但是我收到一个错误(Map[Nothing,Nothing] 类型的表达式不符合预期的 Map[Double,String] 类型)。
我的错误是什么?我认为使用line(0).toDouble, line(1).toString 进行映射会产生预期的 Map[Double, String]
val stream : InputStream = getClass.getResourceAsStream("/sales.csv")
val lines: Iterator[String] = scala.io.Source.fromInputStream(stream).getLines
val map: Map[Double, String] = lines
.map(_.split(",")
.map(line => (line(0).toDouble, line(1).toString)))
.toMap
【问题讨论】:
标签: scala collections stream