0

.docx ドキュメントで検索と置換機能を実行しました。モジュール python-docx を使用します。

# -*- coding: utf-8 -*-
from docx import *

document = opendocx('test.docx')

TAG_LIST=[u'TAG1',u'TAG2',u'TAG3']
VALUE_LIST=[u'TEST1',u'TEST2',u'TEST3']

def search(document):
    result = False
    for element in document.iter():
        if element.text == '{':
            result=True
        if result and element.text != '}':
            for i in range(0,len(TAG_LIST)):
                if element.text == TAG_LIST[i]:
                     element.text=re.sub(TAG_LIST[i], VALUE_LIST[i], element.text)
                     print(element.text)

search(document)

この関数は、 内のドキュメント タグを見つけて{}、 で検証し、 にTAG_LIST置き換えVALUE_LISTます。element.text関数の後で保存したいのですre.subが、方法がわかりません。のテキスト全体を読み取ってから置換を実行できることはわかっていますがdocument.xml、テキストをバッファにロードすると多くのメモリが消費されます。それを行う方法はありますか?

4

0 に答える 0