1

http.get 请求返回 csv.gz 文件。解压后我想将其转换为 JSON 并上传到 mongoDB 如何在流上实现转换功能?

我的代码如下:

  const download = (url, dest) => {
  const request = https.get(url, function(response) {
    const decompress = zlib.createGunzip();
    const file = fs.createWriteStream('./downloads/'+ dest);
    response.pipe(decompress).on('data', (chunk) => {
      console.log(chunk)
    })
    .pipe(file);
  });
  }

CSV 到 JSON 将使用它进行转换:

  const csvToJson = (csv) => {
    const [firstLine, ...lines] = csv.split('\n');
    return lines.map((line) => firstLine.split(',').reduce(
      (curr, next, index) => ({
        ...curr,
        [next]: line.split(',')[index],
      }),
      {},
    ));
  };

调用代码如下:

  linksToDownload.map((item) => {
    if (item.value !== undefined) {
    const URL = item.value;
    const DEST = item.name + ".json"
    download(URL, DEST);
    }
  })

另外,为什么 nodemon 会重启几次? 控制台的打印屏幕

在此先感谢您的帮助

4

0 回答 0