Ich schreibe eine csv-Datei mit einem gepufferten Writer in Java. Meine Daten sind korrekt geschrieben, aber ich möchte verschiedene Spalten haben, unter denen die Daten kommen. Momentan schreibt sie jede Instanz von Datum in eine Zeile, aber nicht durch Spalten getrennt.
Der Code ist
%Vor%Gibt es eine Möglichkeit, die Datenspalte so zu trennen, dass sie richtig lesbar ist?
BEARBEITEN
Anstatt einen gepufferten Schreiber zu verwenden, verwende ich CSVReader
library für Java. Ссылка
Der Code ist jetzt
Es formatiert die Daten richtig, aber das Problem ist jetzt, wenn ich den Code zum zweiten Mal ausführen eine zweite Datei erstellt wird und die neue Datei doppelte Zeilen enthält, für jede Zeile in der ersten Datei gibt es 2 Zeilen in der zweiten Datei mit ähnliche Daten.
Ist das, dass ich einige Ressourcen nicht putze?
Danke
Wenn Sie eine CSV-Datei schreiben, müssen Sie Ihre Daten so beifügen
%Vor%Und Sie müssen dies tun, denn wenn in Daten ein Komma vorkommt, würde dies beim Analysieren zu Problemen führen und dazu führen, dass Daten in anderen Spalten gespeichert werden. Stellen Sie auch sicher, dass Sie innerhalb von
blockieren %Vor% Wenn Sie in Excel eine separate Spalte für die Felder haben möchten, die Sie in Ihrem Code geschrieben haben, statt fw.append(",");
Gib einfach fw.append(";");
Es funktioniert und setzt den Header, anstatt eine Variable wie String f="Id, Name, Salary"
zu erstellen und diese Variable an die Methode fw.append(f);
zu übergeben.
Übergeben Sie einfach die Felder, anstatt die Variable zu erstellen
wie fw.append("Id; Name; Salary")
mit Semikolon.
Von dem, was ich verstehe, sind Ihre tatsächlichen Daten nicht mit den Spalten ausgerichtet, weil es keine Möglichkeit gibt zu wissen, wie breit die Spalte ist.
Sie könnten versuchen, Tabulatoren zu verwenden oder die Breite jeder Spalte vordefinieren (wie sie alle 10 Zeichen machen).
Tags und Links java csv bufferedwriter