在scala中过滤CSV?

时间:2013-10-10 01:16:58

标签: scala csv

我有代码来读取这样的CSV:

def readCSV(fileName: String, filter: String) =
  scala.io.Source.fromFile(fileName)
    .getLines
    .map(_.split("\t"))
    .map(a ⇒ MyClass(a(0), a(1), a(2).toInt, a(3).toDouble))
    .toIndexedSeq

我想根据CSV中的值过滤该列表,例如,如果最后一列是“T”,那么我希望能够传入“T”作为过滤器并且只有该集合。

1 个答案:

答案 0 :(得分:1)

在第一个map之后你获得了一个数组集合(BTW你不得不通过标签而是用逗号分割)。然后,您可以通过检查此数组的值进行筛选。例如,

map(_.split(",")).filter(_.last == "T"). ...