我有一个2 gig csv文件要解析,我认为节点只允许内存使用低于1 gig并且我得到了这个错误:
Attempt to allocate Buffer larger than maximum size: 0x3fffffff bytes.
我想流式传输文件并将其写入data.json文件。
然后使用mongoimport将其写入mongo。如果有更有效的方式,我会接受任何想法。 我一直在使用csvtojson,但我更喜欢使用papaparse作为我见过的最好的解析器,并且非常喜欢使用它。
使用csvtojson
function csvToJson(callback){
console.log("in csvToJson");
var csvConverter = new Converter({constructResult: false, delimiter: delimiter, noheader: false });
var readStream = require("fs").createReadStream("fileName");
var writeStream = require("fs").createWriteStream("outputData.json");
writeStream.on("close", function () {
callback();
readStream.close();
writeStream.close();
});
readStream.pipe(csvConverter).pipe(writeStream);
}