Die Kombination mehrerer csv-Dateien in eine mit java?
Ich brauche eine robuste Methode, die verbinden möchte mehrere CSV-Dateien, unter Berücksichtigung der newline-Zeichen usw. Bitte helfen Sie mir und geben Sie einige code, wenn möglich.
Oder zumindest mir helfen, mit dem, was alle Szenarien sollte ich erwarten, wenn Sie zu kombinieren.
hinsichtlich
- Sie haben einen bestehenden code zu arbeiten?
- Können Sie überprüfen, csv-Fusion github-Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, wenn Sie auf einem Unix-basierten Rechner (Linux oder OSX) du könntest
cat
vom terminal zum verketten von Dateien zusammen.Wenn Sie unbedingt wollen, auf Java, in diesem forum post das Thema behandelt und enthält Beispiel-code.
Auch diese stackoverflow - post bedeckt dieses Thema sehr.
Können Sie so etwas wie dieses, um die Daten analysieren: http://opencsv.sourceforge.net/
1) möchte ich analysieren, in jeder csv in ein string-array für jede Zeile. Vergleichen Sie die ersten Zeilen der einzelnen Arrays mit ein .equals oder compareto um sicherzustellen, dass Sie sich mit der gleichen CSV, können Sie dies als ein Häkchen in der ersten Zeile der parser, dann werfen Sie aus, wenn Sie nicht vom gleichen Typ sind.
Sobald das erledigt ist, können Sie löschen Sie die ersten Zeilen, die von allen arrays erwarten, dass das erste array dann verschmelzen Sie zusammen, dann schreiben Sie eine Methode "sort", um die Daten dann in eine Datei drucken.
2) Noch einfacher, nehmen Sie alle CSVs, Scannen Sie in Ihren ersten Zeilen, diese vergleichen, wenn diese identisch sind, Scannen Sie den gesamten CSV ist in mehrere string-arrays Zusammenführen, dann mit der File-Klasse schreiben, die das array in die Datei.csv.
Anderen CSV-parsing: http://commons.apache.org/sandbox/csv/apidocs/org/apache/commons/csv/CSVParser.html
Lesen Sie in der separat-Ausgabe in eine Datei. Sie können auch fügen Sie einige code, der überprüft, ob die Datensätze aus den beiden csv-Dateien müssen dieselbe Anzahl von Spalten, sonst Fehler.
Dies ist nicht wirklich ein Java-spezifisches problem.
In der Fortsetzung mit user453441 Antwort, überprüfen Sie auch für den separator. Viele Male 'Komma' Getrennt Werte sind in der Tat - (wegen geschäftlichen Bedingungen wie die Adresse line kann, die ein Komma enthalten) - getrennt durch verschiedene Trennzeichen(s).