我正在尝试从流中获取数据。
const csv = require('csv-parser')
const fs = require('fs')
const results = [];
fs.createReadStream('data.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results)
});
console.log(results);
结果是第一个空[],然后是csv的数据。
[]
[ { '0': '10-01-2020 14:37:20',
'1': '10-01-2020 18:17:42',
'2': '13222',
'3': '00',
'4': '3.67',
'5': '36.73',
'6': '',
'7': 'Default' },
{ '0': '10-01-2020 09:02:00',
'1': '10-01-2020 14:02:20',
'2': '18020',
'3': '00',
'4': '5.01',
'5': '50.06',
'6': '',
'7': 'Default' } ]
我想稍后在程序中修改result
中的数据。
我认为我缺少一些基本的东西。
代码没有错。您有两次控制台声明。最后一个是打印空数组。
[createReadStream
是异步操作,因此此后将触发end
侦听器上的控制台。
如果删除最后一个控制台语句,它将显示预期的结果。