Я чувствую, что это должно быть очень просто, но я пытался понять это, кажется, целую вечность. У меня есть две запятые с разделителями String, и я использую Apache Commons CSV CSVParser для их анализа. Я хочу просмотреть их и поместить данные в JSONObject.
Вот мой код, может ли кто-нибудь сказать мне, что я делаю неправильно?
ArrayList<String> lblList = new ArrayList<String>();
ArrayList<String> dataList = new ArrayList<String>();
CSVFormat format = CSVFormat.newFormat(',').withQuote('"');
CSVParser labels = CSVParser.parse(rf.getColumnLabels_CSV(), format);
CSVParser data = CSVParser.parse(rf.getData_CSV(), format);
JSONObject entry = new JSONObject();
for (CSVRecord label : labels) {
lblList.add(label.get(0));
}
for (CSVRecord value : data) {
lblList.add(value.get(0));
}
for (int i = 0; i < lblList.size(); i++) {
entry.put(lblList.get(i), dataList.get(i));
}
@Andreas Спасибо, теперь я вижу, что происходит не так; однако я все еще не могу найти способ фактически перебрать каждый столбец, чтобы получить остальные данные; количество столбцов будет меняться, поэтому я не могу просто сказать value.get(0); value.get(1); value.get(2) и т. д.
@Andreas Nevermind, я понял это :) Мне просто нужно было перебирать итератор в каждой строке, поэтому




Почему вы читаете только первый столбец данных CSV?
data— содержимое CSV,value— один ряд из этого содержимого, аvalue.get(0)— первый столбец из этой строки. Разве вам не нужны остальные данные в каждой строке?