python - 使用windows用python打开word文档

标签 python io ms-word etl python-docx

我正在尝试在windows中使用python打开word文档,但是我对windows不熟悉。

我的代码如下。

import docx as dc
doc = dc.Document(r'C:\Users\justin.white\Desktop\01100-Allergan-UD1314-SUMMARY OF WORK.docx')

通过另一篇文章,我了解到我必须将 r 放在字符串前面才能将其转换为原始字符串,否则它将把\U 解释为转义序列。

我得到的错误是

PackageNotFoundError: Package not found at 'C:\Users\justin.white\Desktop\01100-Allergan-UD1314-SUMMARY OF WORK.docx'

我不确定为什么它找不到我的文档 01100-Allergan-UD1314-SUMMARY OF WORK.docx。该路径是正确的,因为我直接从文件系统复制它。

感谢任何帮助。

最佳答案

试试这个

import StringIO
from docx import Document


file = r'H:\myfolder\wordfile.docx'

with open(file) as f:
    source_stream = StringIO(f.read())
document = Document(source_stream)
source_stream.close()

http://python-docx.readthedocs.io/en/latest/user/documents.html

此外,在调试“找不到文件”错误时,请简化目录名和文件名。将文件重命名为“file”,而不是引用带有空格等的长路径。

关于python - 使用windows用python打开word文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37463506/

相关文章:

javascript - Office.JS : How to sideload Word/Excel Taskpane add-in with Office 2016 OnPrem?

python - if 和按位 & 在同一行

python - 如何从 Notepad++ 中运行 Python 脚本,但使用 powershell 并在脚本目录中运行?

python - 字符串到带小数秒的日期时间,在 Google App Engine 上

Python 数据集包 & 循环/更新行 --

java - 如何在 Java 中的 8GB 平面文件中的无序列表中查找名称

javascript - 使用 Node.js 删除文本文件的前 15k 行

java - Socket OutputStream 上的 PrintWriter 导致数据损坏/丢失

java - webdav 协议(protocol)期间 Microsoft Word url 编码的问题

java - 如何让转义字符适用于 MS Word API 中的换行符?