【发布时间】:2019-02-02 09:42:41
【问题描述】:
我正在使用 csvparser 解析一个巨大的 csv (1.2GB) 并尝试从解析的 csv 中获取某些列数据。我试图在处理后将数据推送到数组,但只得到空数组作为输出。如何修复此代码?
var parse = require('csv-parse');
var output = []
var parser = parse({
delimiter: '\t',
columns: true
}, function(err, csvLine) {
for (var l = 0; l < csvLine.length; l++) {
output.push(csvLine[l].id)
}
});
console.log(output)
fs.createReadStream('file.csv', {
encoding: 'utf8'
}).pipe(parser);
console.log(output) 的输出始终是一个空数组。请帮我解决这个问题。
我试图理解这里的帖子 - Save csv-parse output to a variable。但我无法理解和修复代码。
【问题讨论】:
-
看起来是异步的。尝试在
function(err, csvLine){}内移动console.log(output)就在for循环之后
标签: javascript node.js stream output node-csv-parse