node.js - 异步读取 csv 文件 - NodeJS

标签 node.js asynchronous async-await

我正在尝试创建一个函数,在其中可以传递文件路径并以异步方式读取文件。我发现它支持 streams()

const fs = require('fs');
var parse = require('csv-parse');
var async = require('async');

readCSVData = async (filePath): Promise<any> => {
    let csvString = '';
    var parser = parse({delimiter: ','}, function (err, data) {
        async.eachSeries(data, function (line, callback) {
            csvString = csvString + line.join(',')+'\n';
            console.log(csvString) // I can see this value getting populated
        })
      });
      fs.createReadStream(filePath).pipe(parser);
}

我从 here 获得此代码。但我是 Node js 新手,所以我不知道如何使用 await 在解析所有行后获取数据。

const csvData = await this.util.readCSVData(path)

最佳答案

我对此任务的最佳解决方法是:

const csv = require('csvtojson')
const csvFilePath = 'data.csv'
const array = await csv().fromFile(csvFilePath);

关于node.js - 异步读取 csv 文件 - NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51710202/

相关文章:

javascript - Socket.io "on"函数 - 传递附加参数

c# - 同时等待多个任务的设计模式

c# - 使用 Moq 针对异步方法设置 C# 测试

c# - 在 C# 中启动许多异步任务的语法

c# - 在不阻塞 ui UWP 的情况下调用数据库异步方法的最佳实践

javascript - NodeJS中是否有任何报告引擎(如Java中的JasperReport)?

javascript - 在 Node.js 中发布和解码 JSON

javascript - Node.js:WAITING异步调用的响应

java - 从 Android 应用程序发送整数流并在 Node.js Express 服务器上接收它

javascript - Node promise 循环等待结果