【问题标题】:Make simple edits on Word document programmatically以编程方式对 Word 文档进行简单编辑
【发布时间】:2011-12-31 12:51:20
【问题描述】:

我想对 Word 文档进行一些简单的编辑,例如将所有 TEXT 替换为 text

我尝试过python-docx,但它不能让我只保存我的更改。相反,它会创建一个具有默认样式的新文档并将其与我的内容一起保存。

是否有支持快速编辑 docx 的好库(Python 或其他语言)?

【问题讨论】:

    标签: python ms-word


    【解决方案1】:

    为什么您不能在 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')
    

    【讨论】:

    • 我怎样才能再次保存文件(使用任何一种方法)?
    猜你喜欢
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多