使用nodejs,我想解析一个包含10000条记录的.csv文件,并对每一行执行一些操作。我试过使用http://www.adaltas.com/projects/node-csv。我不能让它在每一行都暂停。这只会读取所有的10000条记录。我需要做以下工作:
有没有人能在这里提出其他的想法呢?
发布于 2014-04-15 21:58:52
您似乎需要使用基于流的库,例如fast-csv,它也包含验证支持。
发布于 2016-05-12 17:16:16
我是这样使用的:
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 with csvData
console.log(csvData);
});
发布于 2015-05-07 08:09:07
我目前的解决方案使用异步模块来串行执行:
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);
https://stackoverflow.com/questions/23080413
复制相似问题