我想对Word文档进行一些简单的编辑,例如将所有TEXT
替换为text
。
我尝试了python-docx
,但它不允许我仅保存我的更改。相反,它创建一个具有默认样式的新文档,并将其与我的内容一起保存。
是否有支持docx快速编辑的好库(Python或其他语言)?
答案 0 :(得分:3)
为什么你无法在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()
但后来我发现这个优秀的docx文件库 - 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')