问题描述
如何在读取 gzip 文件时为每列添加自定义分隔符,以下是我的工作代码 我使用 fs.createReadStream() 方法远程从 gunzip 文件中获取所有数据,首先将文件内容转换为缓冲区,然后我得到了 gunzip 文件数据,每列以逗号分隔,总共有 83 列。
问题是有 83 列,每个列都用逗号分隔,但在几列中,值也有逗号,当我们用逗号分隔时,我从它的标题中得到的值超过了它的值,这就是为什么我需要添加自定义分隔符对于每一列,在自定义分隔符的基础上,我可以拆分此 gunzip csv 文件的每一行。
下面是我的代码:
var decompressstream = zlib.createGunzip()
.on('data',async function (chunk) {
decompressstream.pause();
var data_in_string = chunk.toString();
console.log(data_in_string); // here I found gunzip file each line
decompressstream.resume();
}).on('error',async function(err) {
handleGunzipError(err,file,chunk);
});
fs.createReadStream('users.csv.gz')
.on('data',async function (chunk) {
await decompressstream.write(chunk);
}).on('end',async function(){
console.log("Gunzip file completed");
})
我正在处理它大约 3 天,现在很沮丧,不明白我将如何解决它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)