Schreiben einer CSV-Datei mit Buffered Writer in Java

8

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

%Vor%

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

    
Wearybands 26.09.2013, 11:50
quelle

3 Antworten

1

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%     
shashwatZing 24.01.2017 17:30
quelle
0

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.

    
Gitansh 23.05.2016 07:38
quelle
-1

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).

    
S.Lukas 26.09.2013 12:02
quelle

Tags und Links