Вы можете использовать scala.io.Source
для чтения в данных с разделителями табуляции из файла.
Некоторых образцы данные:
0 1 2 3 4 5
6 7 8 9 10 11
Один из DenseMatrix
конструкторов имеют такой вид new DenseMatrix(rows: Int, data: Array[V], offset: Int = 0)
, поэтому я буду использовать.
Получить количество строк:
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.size
res 0:Int = 2
Затем получить данные как Array[Int]
:
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.toArray.flatMap(_.split("\t")).map(_.toInt)
res1: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
Тогда res0
и res1
могут быть использованы для создания нового DenseMatrix
.
Спасибо, хотя при чтении его в res1 было в строке-мажорный порядок и конструктор ожидает столбцов. Таким образом, конструктор, который я использовал, был «DenseMatrix (res1.size/res0) .t' –