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