首页 > 解决方案 > 在节点js中远程读取csv gzip文件时如何为每列添加自定义分隔符

问题描述

如何在读取 gzip 文件时为每列添加自定义分隔符,下面是我的工作代码明智地在每列上用逗号分隔,总共有 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 天,现在很沮丧,不明白我将如何解决它。

标签: javascriptnode.jszlibgunzip

解决方案


推荐阅读