从python-docx访问存储在aws-s3存储桶中的docx文件

时间:2020-01-28 08:37:39

标签: python amazon-web-services amazon-s3 python-docx

我的aws-s3存储桶中有一个docx文件。我需要使用python-docx进行阅读。 我这样写:

from docx import Document
document = Document('https://my-first-backup-bucket-v1.s3-ap-southeast-1.amazonaws.com/New+Proposed+Quote.docx')

然后,出现错误。 PackageNotFoundError:在'https://my-first-backup-bucket-v1.s3-ap-southeast-1.amazonaws.com/New+Proposed+Quote.docx'

找不到软件包

为什么?

当我尝试从浏览器访问同一文件时,它成功打开。出于测试目的,我使用公共访问权限创建了此文件,任何人都可以对此进行测试,有人可以为此提供帮助吗?

1 个答案:

答案 0 :(得分:1)

来自Document objects — python-docx 0.8.10 documentation

docx.Document(docx=None)

返回从docx加载的Document对象,其中docx可以是.docx文件的路径(字符串)或类似文件的对象。如果缺少docx或“无”,则将加载内置的默认文档“模板”。

是说提供的文件名应指向本地文件。并不是说URL被接受。

因此,您应该从Amazon S3下载文件,然后将其指向本地文件系统。