2016-12-23 1 views
1

Ich versuche, Werte in eine CSV-Datei einzufügen, aber die Datei wird nicht aktualisiert bei der zweiten Iteration. Kann jemand Hilfe vorschlagen?Wie aktualisiere ich eine CSV-Datei in nodejs

for(var i =0;i <2;i++){ 
    var writer = csvWriter() 
    writer.pipe(fs.createWriteStream('out.csv')) 
    writer.write({name: data.name, email: data.email, gender: data.gender}) 
    writer.end() 
} 
+0

Was meinst du aktualisiert? Nach dem Aussehen der Dinge, die Sie versuchen, beide Dateien genau die gleichen (gleiche Daten, Dateiname) zu erstellen, so ist es unklar, was Sie erwarten. – GillesC

+0

Hallo GillesC, ich versuche, alle meine Daten nacheinander einzufügen, aber es wird überschrieben. Sehen Sie sich meinen aktualisierten Code an. – MMR

Antwort

0

Wenn Sie fs.createWriteStream('out.csv') Sie öffnen Sie die Datei zum zweiten Mal für das Schreiben und sie überschreiben.

Denken Sie auch daran, dass Pipe-Streams asynchron sind, so dass selbst Ihre erste Pipe erst nach Abschluss der Loop-Iteration mit der Ausführung beginnen kann.

Sie möchten mehr über Streams in Knoten lesen.

+0

Hallo rsp, wie kann ich meine csv aktualisieren statt zu überschreiben. – MMR

0

können Sie verwenden

fs.appendFile() 

Sie können weitere Informationen auf Node documetation zu bekommen.

+0

Es ist Fehler werfen, writter.appendFile() ist keine Funktion – MMR

+0

Setzen Sie die neue Deklaration, Pipe und schließen Sie außerhalb der für Iteration. –

Verwandte Themen