javascript - 在节点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 天,现在很沮丧,不明白我将如何解决它。
解决方案
推荐阅读
- java - 使用正则表达式从 Java 中的字符串中提取值
- kubernetes-helm - 为什么helm不使用部署模板中定义的名称?
- angular - 如何以角度 6 发送从数据库中以 JSON 格式创建的动态字段的数据
- java - 如何查看有关 Java 中两个数组、列表或其他集合之间差异的附加信息?
- java - 为什么链接不会转到控制器 Spring mvc?
- django - 如何在 django 中打印发布请求数据
- cassandra - Cassandra 上的 KairosDB 是否仅用于指标?
- ionic-framework - Ionic 3:将提供者的变量传递给离子输入
- chat - 我无法在 ChatterOn 上同步我的 Facebook 页面。这可能是什么问题?
- node.js - 使用 dynamoose.js 时如何避免在外部将 aws config 设置为 env 变量