Внесите простые изменения в документ Word программно - PullRequest
2 голосов
/ 31 декабря 2011

Я хочу сделать несколько простых изменений в документе Word, например, заменить все TEXT на text.

Я пробовал python-docx, но это не позволяет мне сохранять только мои изменения,Вместо этого он создает новый документ со стилем по умолчанию и сохраняет его с моим контентом.

Есть ли хорошая библиотека (Python или другие языки), которая поддерживает быстрое редактирование в docx?

1 Ответ

3 голосов
/ 31 декабря 2011

Немного о том, почему вы не можете выполнять простую замену строк в docx - документ .docx - это Zip-архив в формате OpenXML: сначала вы должны его распаковать. Раньше я использовал 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 для 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...