Hallo Leute,
ich stehe vor folgendem Problem:
ich möchte Daten von einem System in ein anderes System übertragen. Dies soll mit einem Import/Export im .csv-Format geschehen.
Da diese Übertragung demnächst alle 2-3 Tage durchgeführt werden muss, sollen die Daten hierfür automatisch angepasst werden.
Zum einen müssen die Spaltenüberschriften geändert werden, da diese nicht kompatibel sind. Außerdem kommt es vor, dass z.B. aus zwei Spalten eine Spalte gemacht werden muss (z.B. aus den Spalten "Farben" mit dem Wert "Grün" und "Größe" mit dem Wert "Mittel" wird die Spalte "Variante" mit dem Wert "Grün & Mittel".
Da ich lediglich zurzeit mich etwas in Java auskenne hatte ich gedacht schreibe ich hierfür ein Script, das dieses erledigt.
Hierfür wollte ich die Apache Commons CSV Library nutzen. Ich bekomme die Test-Datei auch eingelsen, jedoch bekomme ich die Werte nicht in eine neue CSV-Datei.
Außerdem weiß ich nicht genau wie ich die Werte der Spalten nun bearbeiten könnte.
Falls es einen einfacheren Weg gibt CSV-Datei automatisch so aufbereiten zu lassen bin ich ebenfalls für alles offen. Mir kam dies nur als erstes in den Sinn.
Über einen Tipp würde ich mich freuen.
Btw es handelt sich letztendlich um ca. 5000 Datensätze mit ca. 30 Spalten/Attributen.
Mein Code der das Einlesen und Erstellen einer CSV testen soll sieht zurzeit wie folgt aus:
ich stehe vor folgendem Problem:
ich möchte Daten von einem System in ein anderes System übertragen. Dies soll mit einem Import/Export im .csv-Format geschehen.
Da diese Übertragung demnächst alle 2-3 Tage durchgeführt werden muss, sollen die Daten hierfür automatisch angepasst werden.
Zum einen müssen die Spaltenüberschriften geändert werden, da diese nicht kompatibel sind. Außerdem kommt es vor, dass z.B. aus zwei Spalten eine Spalte gemacht werden muss (z.B. aus den Spalten "Farben" mit dem Wert "Grün" und "Größe" mit dem Wert "Mittel" wird die Spalte "Variante" mit dem Wert "Grün & Mittel".
Da ich lediglich zurzeit mich etwas in Java auskenne hatte ich gedacht schreibe ich hierfür ein Script, das dieses erledigt.
Hierfür wollte ich die Apache Commons CSV Library nutzen. Ich bekomme die Test-Datei auch eingelsen, jedoch bekomme ich die Werte nicht in eine neue CSV-Datei.
Außerdem weiß ich nicht genau wie ich die Werte der Spalten nun bearbeiten könnte.
Falls es einen einfacheren Weg gibt CSV-Datei automatisch so aufbereiten zu lassen bin ich ebenfalls für alles offen. Mir kam dies nur als erstes in den Sinn.
Über einen Tipp würde ich mich freuen.
Btw es handelt sich letztendlich um ca. 5000 Datensätze mit ca. 30 Spalten/Attributen.
Mein Code der das Einlesen und Erstellen einer CSV testen soll sieht zurzeit wie folgt aus:
Java:
import java.io.*;
import org.apache.commons.csv.*;
public class read {
private static final String CSV_FILEIN = "test_in.csv";
private static final String CSV_FILEOUT = "test_out.csv";
private static final String[] HEADER = { "Nummer", "Bezeichnung" };
public static void main(String[] args) throws IOException {
//READ
Reader reader = new FileReader(CSV_FILEIN);
CSVParser parser = new CSVParser(reader,
CSVFormat.EXCEL.withDelimiter(';').withHeader(HEADER).withSkipHeaderRecord());
for (CSVRecord record : parser) {
System.out.print(record.get("Nummer"));
System.out.println(record.get("Bezeichnung"));
}
//WRITE
Writer out=new FileWriter(CSV_FILEOUT);
CSVPrinter printer=new CSVPrinter(out, CSVFormat.DEFAULT.withHeader(HEADER));
printer.print(parser);
}
}
}