javascript - 如何从 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');
});
推荐阅读
- google-compute-engine - 如何使用 Google 部署管理器创建区域健康检查
- laravel - 无法上传 Laravel 文件
- r - 理解函数分位数的问题
- node.js - 编写一个 docker 镜像但得到一个 npm ERR!EXDEV
- html - 使用 *ngFor 创建条件
- python - 如何加载保存的 TensorFlow 模型并对其进行评估
- animation - 为什么 NavigationView 中的动画从左上角开始?
- python - 每次for循环的交互如何创建新线程?
- php - Firestore PHP SDK - 如何保存日期?
- arrays - 无法将 appsettings IConfiguration 部分反序列化为类型化元素的数组