NodeJs读取csv文件

使用nodejs,我想解析10000条记录的.csv文件,并对每行执行一些操作。 我尝试使用http://www.adaltas.com/projects/node-csv。 我无法让这个在每一行暂停。 这只读取所有10000条记录。 我需要做以下事情

1)逐行读取csv 2)在每行上执行耗时的操作3)转到下一行

任何人都可以在这里建议任何其他想法?


似乎您需要使用一些基于流的解决方案,在重新创建自己之前已经存在这样的库,请尝试此库,其中还包含验证支持。 https://www.npmjs.org/package/fast-csv


我目前的解决方案使用异步模块来串行执行:

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

var inputFile='myfile.csv';

var parser = parse({delimiter: ','}, function (err, data) {
  async.eachSeries(data, function (line, callback) {
    // do something with the line
    doSomething(line).then(function() {
      // when processing finishes invoke the callback to move to the next one
      callback();
    });
  })
});
fs.createReadStream(inputFile).pipe(parser);

我用这种方式: -

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

var csvData=[];
fs.createReadStream(req.file.path)
    .pipe(parse({delimiter: ':'}))
    .on('data', function(csvrow) {
        console.log(csvrow);
        //do something with csvrow
        csvData.push(csvrow);        
    })
    .on('end',function() {
      //do something wiht csvData
      console.log(csvData);
    });
链接地址: http://www.djcxy.com/p/52279.html

上一篇: NodeJs reading csv file

下一篇: Parsing huge logfiles in Node.js