我正在尝试读取一个 csv 文件并将其作为 double 数组的数组返回( Array[Array[Double]]
)。如何逐行读取文件并立即打印出来很清楚,但不知道如何将其存储在二维数组中。
def readCSV() : Array[Array[Double]] = {
val bufferedSource = io.Source.fromFile("/testData.csv")
var matrix :Array[Array[Double]] = null
for (line <- bufferedSource.getLines) {
val cols = line.split(",").map(_.trim)
matrix = matrix :+ cols
}
bufferedSource.close
return matrix
}
有一些类型问题,然后意识到我没有做我认为我在做的事情。任何将我指向正确轨道的帮助将不胜感激。
最佳答案
看来你的问题已经回答了。因此,作为旁注,您可以像这样以更粗暴的方式编写代码:
def readCSV() : Array[Array[Double]] = {
io.Source.fromFile("/testData.csv")
.getLines()
.map(_.split(",").map(_.trim.toDouble))
.toArray
}
关于arrays - 如何将csv文件读入scala中的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32055496/