2016-01-13 147 views
0

我需要讀取一個csv文件,然後創建一個具有指定3列的新文件。 我知道讀取文本文件而不是csv文件。讀取csv文件並在Scala中選擇三列

import scala.io.Source._ 
val lines = fromFile("file.txt").getLines 
+1

關於csv文件沒有什麼魔力。用','分隔每一行,並且拿出你需要的東西...... –

回答

1

或者,如果你只是想前三列,試試這個

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

假設是指列在CSV文件指數idx的集合,首先考慮

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

所以我們可以取第2,4,5列(索引0指第一列),

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

我們可以從每個分割線把這一概念應用ONN每個陣列如下,

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

這種方法允許定義感興趣的指數在運行時(非硬編碼)。