2016-04-03 16 views
2

私はapache commons csv libraryの核心を理解できません。 apache-commons-csvでcsvファイルからヘッダ名でカラムを取得したいときに使うべき方法をアドバイスできますか?例えば は、私はそのようなcsvファイルを持っている:Apache commons csv

Delays, Computation time, Communication time 
0., 500000, 10 
20.,, 20 
55., 546541., 23. 
12., 465487., 23. 
45., 456547., 28. 
87., 985458., 56. 
47., 456778., 45. 

私は配列を取得したい:ダブル[]遅れ、ダブル[] compTime、ダブル[] csvファイルからの値で構成されcommTime。ドキュメントで

答えて

0

Reader in = new FileReader("path/to/file.csv"); 
Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(in); 
for (CSVRecord record : records) { 
    String lastName = record.get("Last Name"); 
    String firstName = record.get("First Name"); 
} 

あなたは、行ごとに列名に対応するセルを取得します。 (lastNameとfirstNameは使用されず、各繰り返しで削除されます。

+0

更新疑問。 –

+0

ちょうどここのアルゴリズムは、各行に対して3つの配列をとり、配列にセルを追加します。これはここのapacheコモンではありません。ちょうどアルゴリズム。 – Aeldred

0
public void parseInputCSV() throws IOException { 
final Reader reader = new InputStreamReader(inputFile.toURL().openStream(), "UTF-8"); 
Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(reader); 
for (CSVRecord record : records) { 
    String first = record.get("FIRST_COLUMN"); 
    String second = record.get("SECOND_COLUMN"); 
    // all other columns 
} 

}

+0

列名で配列を取得するにはどうすればよいですか? =( –

+0

csv要素の配列?あなたのcsvファイルの2行を質問に投稿してください –

+0

私は質問を更新しました。 –

関連する問題