2015-10-28 108 views

回答

1

下面的代码为我工作,使用node-csv-parse库。这个想法是在读取10条记录之后使用库的流式API和文件流中的解析器。

var fs = require('fs'); 
var csv = require("csv-parse"); 
var i = 0; 
var num = 10; 


var stream = fs.createReadStream("test.csv"); 
var parser = csv(); 

function done() { 
    stream.unpipe(parser); 
    parser.end(); 
    stream.destroy(); 
} 

parser.on('readable', function() { 
    if (i < num) { 
    var r = parser.read(); 
    console.log(i, r); 
    i++; 
    } else { 
    done(); 
    } 
}); 

parser.on('error', function() {console.log('Error');}); // TODO: Handle appropriately 

parser.on('finish', done); 
stream.pipe(parser); 
+0

虽然这段代码可能会回答这个问题,但提供关于_how_和/或_why_的附加上下文可以解决问题,从而提高答案的长期价值。 –