我的代码中有一些情节,我希望将它们保存为来自 AWS 的 S3 存储中的 Pdf。
问问题
750 次
1 回答
0
您必须使用 BytesIO 转换所有内容。您可以使用 pp.savefig() 或 pp.savefig(fig) 在循环中添加任意数量的图。我假设您已经配置了凭证以在 AWS 中进行身份验证。
import io
import boto3
from datetime import datetime
from matplotlib.backends.backend_pdf import PdfPages
from matplotlib import pyplot as plt
with io.BytesIO() as output:
with PdfPages(output) as pp:
fig, ax = plt.subplots(figsize=(12, 6))
plt.plot([1,2,3,4,5,6],[1,2,3,4,5,6])
pp.savefig()
data = output.getvalue()
my_bucket = 'my-buketname'
s3 = boto3.resource('s3')
dir = 'my-dir-name'
file = dir + 'test.pdf'
s3.Bucket(my_bucket).put_object(Key=file, Body=data)
于 2021-02-15T10:35:39.823 回答