gpt4 book ai didi

python - 在 AWS 中存储从 Pandas 导出的 Excel 文件

转载 作者:行者123 更新时间:2023-11-28 20:56:15 25 4
gpt4 key购买 nike

我正在使用带有 SQLite 数据库的 Flask 制作一个小型网站。我想做的一件事是(从数据库中)获取一些数据并将其导出为 Excel 文件。我想提供下载该 Excel 文件的选项。一种选择是使用 Pandas 写入将存储在网络服务器上的 Excel 文件,并使用 Flask 的 send_file 提供下载选项。

但是,是否可以提供可下载的 Excel 文件而不将文件“本地”存储在服务器上?例如在 AWS S3 上。我想在网络服务器上有可预测的存储大小。 (无论如何,看看是否可行。)

一个选项可能是“在本地”写入一个文件,然后将其发送到 AWS,然后从服务器上删除它。理想情况下,我宁愿直接捕获文件流,然后将其发送到 S3,但我认为这是不可能的,因为 to_excel 只采用文件路径(或 ExcelWriter 对象,但需要一个文件路径)。

最佳答案

要添加到 balderman 的答案中,将其添加到 S3 的完整代码是

import io
import pandas as pd
import boto3

# ...

# make data frame 'df'

with io.BytesIO() as output:
with pd.ExcelWriter(output, engine='xlsxwriter') as writer:
df.to_excel(writer)
data = output.getvalue()

s3 = boto3.resource('s3')
s3.Bucket('my-bucket').put_object(Key='data.xlsx', Body=data)

另见 XlsxWriter documentation .

关于python - 在 AWS 中存储从 Pandas 导出的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com