【发布时间】:2019-06-12 17:19:44
【问题描述】:
我最近使用 nodejs 的事件流库来解析一个巨大的 csv 文件,将结果保存到数据库。 如何解决不仅读取文件,而且修改每一行,将结果写入新文件的任务? 它是通过和映射方法的某种组合,还是双工?非常感谢任何帮助。
【问题讨论】:
标签: node.js event-stream
我最近使用 nodejs 的事件流库来解析一个巨大的 csv 文件,将结果保存到数据库。 如何解决不仅读取文件,而且修改每一行,将结果写入新文件的任务? 它是通过和映射方法的某种组合,还是双工?非常感谢任何帮助。
【问题讨论】:
标签: node.js 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();
【讨论】: