2016-04-03 7 views
2

Ich kann den Kern der Apache Commons CSV-Bibliothek nicht verstehen. Könnten Sie eine Methode empfehlen, die ich verwenden sollte, wenn ich Spalten nach Kopfzeilennamen aus CSV-Datei von Apache-Commons-CSV abrufen möchte? Zum Beispiel habe ich eine solche CSV-Datei: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. 

Ich möchte Arrays erhalten: double [] Verzögerungen, double [] compTime, double [] commTime aus csv von Werten bestehen.

Antwort

0

In der Dokumentation:

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"); 
} 

Sie werden für jede Zeile erhalten die Zelle zu dem Spaltennamen entspricht. (hier werden lastName und firstName nicht verwendet und werden bei jeder Iteration gelöscht, sicher).

+0

aktualisiert Frage. –

+0

Nur Algorithmus hier, nehmen Sie 3 Arrays, für jede Zeile, fügen Sie Zellen zu ihrem Array .... Dies ist nicht Apache Commons hier. Nur ein Algorithmus. – 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

Wie kann ich Array nach Spaltennamen erhalten? = ( –

+0

Ein Array als CSV-Element ??? Bitte schreiben Sie in der Frage ein paar Zeilen Ihrer csv-Datei –

+0

Ich habe die Frage aktualisiert. –