2

我最近使用 nodejs 的事件流库来解析一个巨大的 csv 文件,将结果保存到数据库。如何解决不仅读取文件,而且修改每一行,将结果写入新文件的任务?它是通过和映射方法的某种组合,还是双工?非常感谢任何帮助。

4

1 回答 1

3

如果您使用事件流进行读取,则可以split()逐行使用方法处理 csv。然后更改并将行写入新的可写流。

var fs = require('fs');
var es = require('event-stream');

const newCsv = fs.createWriteStream('new.csv');

fs.createReadStream('old.csv')
  .pipe(es.split())
  .pipe(
    es.mapSync(function(line) {
    // modify line way you want
      newCsv.write(line);
    }))

newCsv.end();
于 2019-06-12T21:33:51.817 回答