我有一个很大的 csv 文件,我想只读取部分文件,比如说前 1000 行。
我计划使用fast-csv包或node-csv-parse。
该任务并不像读取 1000 行那么简单,因为一行可能具有多行值。
有人可以帮助我吗?
谢谢!
下面的代码使用node-csv-parse库对我有用。这个想法是在读取 10 条记录后使用库的流 API 和unpipe文件流中的解析器。
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2704 次 |
| 最近记录: |