"Anfügen", um eine csv-Datei in nodejs (mithilfe von csv-write-stream)
Ich bin derzeit mit csv-write-stream etwas zu schreiben in eine csv-Datei:
var fs = require('fs');
var csvWriter = require('csv-write-stream')
var writer = csvWriter()
writer.pipe(fs.createWriteStream('out.csv'))
writer.write({hello: "world", foo: "bar", baz: "taco"})
writer.end()
Ich mag, wie einfach das ist. Dies jedoch immer eine neue Datei erstellt. Wie könnte ich Anhängen, etwas an dieser Datei? Konnte ich sogar die gleiche Bibliothek?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich
fs.createWriteStream
Funktion entscheidet, wie offen'out.csv'
In Ihrem Fall, können Sie diese Datei öffnen hinzufügen, indem Sie mit
a
Flagge:Hier sind die docs für diese Funktion und flags.
Vielleicht zu spät, aber für Menschen, die Begegnung mit dem gleichen problem wie ich Fehler: kein Header angegeben
Das Konzept steht für, wenn Sie zuerst die Datei zugreifen, legen Sie den Header, so kann es später werden lesbar durch eine andere backend-software wie Excel. Nach, dass, wenn Sie später wieder auf die Datei zugreifen, Sie nicht die Header.
Aber nehmen Sie daran, jedes mal, wenn Sie in die Datei schreiben, müssen Sie die Spalte, die Sie gerade schreiben, um.
Dann erhalten Sie Ihre gewünschte Ergebnis, die steht so etwas wie dieses:
Ich hatte Probleme, wo die erste Zeile der Daten, die ich zu schreiben versucht, nach dem header leer (nur ein paar Kommata, wie hier ,,,,,).
Ich war auch immer der Fehler: es werden Keine Header-Nachricht, als ich versuchte, zu sendHeaders falsch.
Meine Lösung basiert original @Firecat Antwort. Ich veränderte diese, die funktioniert wirklich gut für mich.
mit fs."appendFile".
Es würde die Datei erstellen, wenn es nicht vorhanden ist, oder das Anhängen von Daten an bestehende Datei.