如何从Javascript中的本地.csv文件读取以填充字符串数组?

问题描述

我有一个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');
});

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...