我试图下载一个csv.gz文件,然后能够在节点服务器上逐行处理数据。我不介意该方法(请求,https ...),但是不知何故我不设法获取干净的数据。
我的最后尝试是:
try {
var streamHttp = await new Promise((resolve,reject) => {
var buffer = [];
https.get(url,res => {
res.setEncoding("binary");
let gunzip = zlib.createGzip();
res.pipe(gunzip);
gunzip
.on("data",data => {
buffer.push(data.toString());
})
.on("end",() => {
resolve(buffer.join(""));
});
});
});
} catch (e) {
console.log(e);
}
Papa.parse(streamHttp,{
delimiter: ",",step: row => {
console.log(row);
},complete: results => {
console.log("complete");
}
});
但是我在控制台日志中得到的结果充满了“。> ggx9。)”,所以我猜我在编码方面有问题。
我使用的网址不是直接指向.csv.gz文件,而是指向以“ /”结尾的自动生成的地址,该文件位于该地址。不知道有没有关系我不介意与我完全不同的方法,只是试图找到解决方案。
谢谢。