【发布时间】: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