读取csv文件并在Scala中选择三列

时间:2016-01-13 08:48:54

标签: scala data-manipulation data-retrieval

我需要读取一个csv文件,然后创建一个具有指定3列的新文件。  我知道读取文本文件而不是csv文件。

expect(find_field('server_request_cores').find('option[selected]').text).to eq('2 x 2.0 GHz Cores')

2 个答案:

答案 0 :(得分:1)

或者,如果您只想要前三列,请尝试此

val lines = fromFile("file.txt").
              getLines.
              map(_.split(",",4).take(3)).
              toList

答案 1 :(得分:0)

假设索引idx的集合引用了csv文件中的列,请先考虑

val idx = Array(1,3,4)
val xs = (1 to 10).toArray

所以我们可以获取第2,第4和第5列(索引0指的是第一列),

idx.map(xs)
Array(2, 4, 5)

我们可以在每个阵列上应用这个想法,如下所示分割每一行,

Source.fromFile("file.csv").getLines.map(_.split(",").map(idx))

这种方法允许在运行时定义感兴趣的索引(非硬编码)。