我最近将事件流库用于nodejs来解析巨大的csv文件,并将结果保存到数据库中。 我该如何解决不仅读取文件,还要修改每一行,并将结果写入新文件的任务? 它是直通和映射方法的组合,还是双工?我们非常感谢您的帮助。
答案 0 :(得分:1)
如果使用事件流进行读取,则可以使用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();