【问题标题】:convert .bin file to .csv file node/express将 .bin 文件转换为 .csv 文件 node/express
【发布时间】:2023-01-10 16:26:24
【问题描述】:

我在 S3 存储桶中存储了几个 .bin 文件。 我成功地从 S3 存储桶中读取了一个文件,如下所示

  const response = await getFileFromS3(bucketName, file);

响应类型如镜像所显示。

如何将其转换为 .csv 文件?

我尝试了以下方式,但它向文件打印了奇怪的符号。

        // 1. prints symbols
        const binary = response.Body.toString();                            // tried with different formats "binary", "utf8"                  

        // 2. decodedJsonObject contains symbols or Unexpected token  in JSON at position 0"
        const decodedJsonObject = Buffer.from(response.Body, 'utf8').toString();


        console.log("length", response.Body.length);                        // 878652

        var ab = new ArrayBuffer(response.Body.length);
        var view = new Uint8Array(ab);
        for (var i = 0; i < response.Body.length; ++i) {
            view[i] = response.Body[i];
        }

        // 3. creates file but prints symbols
        WriteFileSync("./test.text", view);                                            

        // 4. creates file but prints symbols
        fs.writeFile("data.csv", view, 'ascii', function (err) {           // tried with different formats "binary", "utf8"     
            if (err) {
                console.log(err);
            } else {
                console.log("The file was saved!");
            }
        });

写文件同步

function WriteFileSync(filepath, buffer) {
    var ws = fs.createWriteStream(filepath, 'ascii');                      // tried with different formats "binary", "utf8"
    ws.end(buffer);
    ws.on("finish", function () {
        ws.close();
    })
}

如何将此响应转换为 .csv 文件?

【问题讨论】:

    标签: javascript node.js express csv


    【解决方案1】:

    response.Body 是一个缓冲区,所以只需尝试将其传递给 .writeFile

    fs.writeFile("data.csv", response.Body, function(err) {
        if (err) {
            console.log(err);
        } else {
            console.log("The file was saved!");
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 2018-09-15
      • 2021-01-31
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多