Я пытаюсь добавить элементы в mutable scala list
, как показано ниже. Я читаю значения из кадра данных строка за строкой, извлекаю значения столбца с именем «_title» и добавляю его в список. Но когда цикл завершен, список все еще пуст. это код:
import scala.collection.mutable.ListBuffer
val flatK = dfR.withColumn("UserValue", explode(col("UserValue")))
var colListA = new ListBuffer[String]()
// var colSet : List[String] = List()
for(i <- 0 until Integer.parseInt(dfR.count().toString)){
flatK.filter($"columnIndex" === i).foreach{
r=>
val columnName = r.getAs[Row]("UserValue").getAs[String]("_title")
// println(columnName)
colListA.append(columnName)
}
}
println(columnName)
на самом деле печатает значение, которое я хочу поместить в мой список.
Мой фрейм данных dfR
выглядит так:
+--------------------------------------------------------------+-----------+
|UserValue |columnIndex|
+--------------------------------------------------------------+-----------+
|[, last_mod_date, 2009-01-14T13:40:53] |0 |
|[, object_string, SOLIDS] |0 |
|[, last_mod_date, 2009-01-13T22:58:30] |1 |
|[, object_string, TORSO] |1 |
Когда я делаю
colListA += "elements"
colListA += "adds"
Я вижу добавленные элементы. Но не внутри этой foreach
петли. Кто-нибудь может сказать мне, что мне попробовать? В основном, я ожидаю, что colList будет заполнен last_mod_date
и object_string
.