我希望对一个Word文档进行简单的编辑,例如将所有TEXT
替换为text
。
我尝试了python-docx
,但它不允许我仅保存我的更改,而是创建一个具有默认样式的新文档,并将其与我的内容一起保存。
是否有一个好的库(Python或其他语言)支持快速对docx文件进行编辑?
为什么你不能在docx中进行简单的字符串替换——一个.docx文档是OpenXML格式的Zip归档文件:你必须先解压它。以前我使用zip
来解压缩docx,然后搜索文本,就像这样——
>>> import zipfile
>>> z = zipfile.ZipFile("yourDocInDocx.docx")
>>> "someText" in z.read("word/document.xml")
True
>>> "random other string" in z.read("word/document.xml")
False
>>> z.close()
但后来我发现了这个优秀的Python库——Python-docx,它可以解决你的问题。
# Import the module
from docx import *
# Open the .docx file
document = opendocx('yourDocInDocx.docx')
# Search returns true if found
search(document,'your search string')