Apache Commons CSV
Я не могу понять ядро библиотеки Apache Commons CSV. Не могли бы вы посоветовать метод, который мне следует использовать, когда я хочу получить столбцы по имени заголовка из файла csv с помощью apache-commons-csv? Например, у меня есть такой CSV-файл:
Delays, Computation time, Communication time
0., 500000, 10
20., 563210, 20
55., 546541., 23.
12., 465487., 23.
45., 456547., 28.
87., 985458., 56.
47., 456778., 45.
Я хочу получить массивы: double[] задержки, double[] compTime, double[] commTime состоят из значений из CSV.
2 ответа
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
}
}
В документации:
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 не используются и удаляются на каждой итерации, конечно).