Scala DataTable到地图列表

时间:2015-10-28 14:54:11

标签: scala datatable cucumber

您能否建议我如何实施以下内容:

我在Cucumber特征文件中有一个dataTable,例如:

|A  |B  |C  |
|1  |2  |3  |
|11 |22 |33 |
|111|222|333|

我尝试获取这样的地图列表:

A:1,11,111; B:2,22,222; C:3,33,333

如果我喜欢这个

List[Map[String, Any]] = 
  data.asMaps(classOf[String], classOf[Any]).asScala.map(_.asScala.toMap).toList

我有一点工作人员:A:1,B:2,C:3,A:11 ....

1 个答案:

答案 0 :(得分:0)

移调,然后映射到地图。

val source = List(
  List("A", "B", "C"),
  List(1, 2, 3),
  List(11, 22, 33),
  List(111, 222, 333)
)

val transposed = source.transpose

println(transposed) // List(List(A, 1, 11, 111), List(B, 2, 22, 222), List(C, 3, 33, 333))

val mapped = transposed.map {
  case l: List[Any] => Map(l.head -> l.tail)
}

println(mapped) // List(Map(A -> List(1, 11, 111)), Map(B -> List(2, 22, 222)), Map(C -> List(3, 33, 333)))