2017-06-11 6 views
0

Ich benutze CSV-Stringify, um Array-Objekt in Zeichenfolge zu konvertieren und an CSV-Datei anhängen. Ich schreibe 500 Zeilen, aber erhalten 314 Zeile in CSV-Datei?Mismatch Daten zwischen Eingang und Ausgang bei Verwendung von Stream.write

Hier ist mein Codes:

let stringifyOpts = { formatters: this.formatters } 
    if (isFirstChunk) { 
    stringifyOpts.header = true; 
    stringifyOpts.columns = this.columnNames 
    } 

    let stringifier = csv.stringify(stringifyOpts); 
    let writeStream = fs.createWriteStream(this.filePath, { flags: 'a' }); 
    stringifier.pipe(writeStream); 
    //data.length = 500 
    data.forEach(row => { 
    stringifier.write(row); 
    }) 
    stringifier.end(); 
    writeStream.end(); 

Dank für jede Beratung!

Grüße.

Antwort

0

Ich löste dieses Problem, indem ich autoClose: true beim Erstellen von Schreib-Stream hinzufügen.

fs.createWriteStream(this.filePath, { flags: 'a', autoClose: true }); 
Verwandte Themen