Javascript Papa解析和大型csv文件
我有一个2 gig的csv文件要解析,我认为node只允许内存使用量低于1 gig,我收到了这个错误:Javascript Papa解析和大型csv文件,javascript,csv,large-files,papaparse,Javascript,Csv,Large Files,Papaparse,我有一个2 gig的csv文件要解析,我认为node只允许内存使用量低于1 gig,我收到了这个错误: 尝试分配大于最大大小的缓冲区:0x3fffffff字节。 我想对文件进行流式处理并将其写入data.json文件 然后使用mongoimport将其写入mongo。如果有更有效的方法,我愿意接受任何想法。 我一直在使用csvtojson,但我更愿意使用papaparse作为我见过的最好的解析器,并且非常喜欢使用它 使用csvtojson function csvToJson(callback)
尝试分配大于最大大小的缓冲区:0x3fffffff字节。
我想对文件进行流式处理并将其写入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);
}如果可以,请拆分初始文件。我已尝试使用shell命令拆分它:
cp.execSync(“拆分--字节500M--数字后缀--后缀长度=3 C:\\fileFolder\\large.csv C:\\tempforder\\NEW.”,函数(err,data){console.log(data);})代码>它工作得很好,但它为程序添加了一个全新的步骤,这需要更多的时间。检查这个:和这个:拆分初始文件,如果可以的话。我尝试过使用shell命令拆分它:cp.execSync(“拆分--字节500M--数字后缀--后缀长度=3 C:\\fileFolder\\large.csv C:\\tempforder\\new.”,函数(错误,数据){console.log(data);});
它工作得很好,但它为程序添加了一个全新的步骤,这需要更多的时间