Ich lese Daten aus einer CSV-Datei und möchte sie in hashMap speichern. Es gibt 3 Spalten, alle von ihnen Strings. Ich verwende diesen Code:Daten dynamisch in HashMap laden
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String,List<String>>();
InputStream inputStream = getResources().openRawResource(R.raw.photographers);
CSVReader csv = new CSVReader(inputStream);
List<String[]> data = csv.read();
List<String> info = new ArrayList<String>();
for(String[] children : data){
info.add(children[1]);
info.add(children[2]);
}
//fill data for the child
for (String[] line : data) {
listDataHeader.add(line[0]);
listDataChild.put(listDataHeader.get(0),info);
}
Die listdataChild die Informationen des 2. halten sollte und 3. Spalte in der CSV. Momentan lädt es diese Information mehr als einmal. Ich würde irgendwelche Ideen begrüßen, danke!
Ihre Frage ist nicht sehr klar, in Ihrer CSV die erste Spalte ist Ihre Kopfzeile? und möchten Sie die Spalten 2 und 3 in der Karte als Werte und die erste Spalte als Schlüssel in der Karte behalten? –
Ja, genau. Die erste Spalte enthält die Informationen, die im listDataHeader (Schlüssel) enthalten sein müssen, während die nächsten beiden als Werte fungieren und in listdataChild gespeichert werden müssen. Vielen Dank! – VyaraG