问题描述
我有一个CSV文件,每行100个名称。我想创建一个包含每个名称的数组。目前,我的CSV文件如下所示:
Names
Bob
Joe
Tim
Allan
我想按以下方式填充数组:
const csv = require('csv-parser');
const fs = require('fs');
const names= [];
fs.createReadStream('./Names.csv')
.pipe(csv())
.on('data',(data) => names.push(data.Names))
.on('error',(error) => loggingService.getDefaultLogger().error(error))
.on('end',() => loggingService.getDefaultLogger().info("Array of Names:" + names));
使用我创建的日志记录服务,可以看到CSV中的所有名称。当我执行console.log(names)时,我得到一个空数组。可能有人知道这是为什么吗?更具体地说,是否有更好的方法来读取CSV文件,以便我可以用该文件的内容填充字符串数组,每行1个数组项作为字符串?
解决方法
可能有效,但不确定。
编辑:是的,就像魅力一样。
const fs = require('fs');
let Names = [];
fs.readFile('./names.csv','utf8',(err,dat) => {
if(err)
console.error("Error while opening file");
Names = String(dat).split('\n');
});