输入和输出之间的数据不匹配使用stream.write时的输出

时间:2017-06-11 07:42:42

标签: node.js csv

我正在使用csv-stringify将数组对象转换为字符串并附加到csv文件。 我写了500行,但在csv文件中收到了314行?

这是我的代码:

    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();

感谢任何建议!

问候。

1 个答案:

答案 0 :(得分:0)

我在创建写入流时添加autoClose: true解决了这个问题。

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