以编程方式对Word文档进行简单的编辑
问题描述:
我想对Word文档进行一些简单的编辑,例如用text
代替所有TEXT
。我试过python-docx
,但它不会让我只保存我的更改。相反,它会创建一个具有默认样式的新文档并将其与我的内容一起保存。以编程方式对Word文档进行简单的编辑
是否有一个支持对docx进行快速编辑的好库(Python或其他语言)?
答
为什么你不能在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库 - 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')
我怎么能再次保存文件(有两种方法)? – Awalias 2013-04-01 15:13:31