问题描述
假设我从 ftp 下载了一个 'abc.csv.gz' 文件,现在我需要将该文件内容作为 csv 远程获取,不想保存在本地。
在下面代码的帮助下,我可以获得 csv 文件内容,但在 gunzip 'abc.csv.gz' 的情况下,下面的代码不起作用。
请建议需要更改此代码,或者如果您知道如何将 csv.gz 内容读取为 csv(远程),请提出建议。
我的 csv 工作代码
client.on('message',message => {
if (message.channel.id !== 'channel id here') return;
message.react('emoji here')
// if you want to use a custom emoji put it's id there instead.
})
解决方法
您可以使用 zlib
。
const fs = require('fs');
const csv = require('csv-parser');
const zlib = require('zlib');
fs.createReadStream('./abc.csv')
.pipe(zlib.createUnzip())
.pipe(csv())
.on('data',async function(value){
console.log(value);
//can get csv file data here
}).on('end',async function(){
console.log("csv file ended");
});