如何逐行读取csv文件,修改每一行,将结果写入另一个文件

How do I read csv file line by line, modify each line, write result to another file

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

如果您使用 event-stream 进行读取,您可以使用 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();