码迷,mamicode.com
首页 > 其他好文 > 详细

批量替换word内容

时间:2019-09-02 09:40:06      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:批量替换   https   tables   编号   docx   network   ocx   需求   work   

有一个需求需要把word中的一段文档的编号批量替换

技术图片

如,把133-183批量的替换成31-81,需要批量的替换word,脚本如下

from docx import Document
import os

oldFile = "C:\\Users\\wuzs\\Desktop\\test.docx"
newFile = "C:\\Users\\wuzs\\Desktop\\test2.docx"

DICT = {
"SP_OS_NETWORK_133":"SP_OS_NETWORK_031",
"SP_OS_NETWORK_134":"SP_OS_NETWORK_032",
"SP_OS_NETWORK_135":"SP_OS_NETWORK_033",
"SP_OS_NETWORK_136":"SP_OS_NETWORK_034",
*****************

*****************
"SP_OS_NETWORK_182":"SP_OS_NETWORK_080",
"SP_OS_NETWORK_183":"SP_OS_NETWORK_081",

}


def main():
    document = Document(oldFile)
    document = check(document)
    document.save(newFile)


def check(document):
    # tables
    for table in document.tables:
        for row in range(len(table.rows)):
            for col in range(len(table.columns)):
                for key, value in DICT.items():
                    if key in table.cell(row, col).text:
                        print(key + "->" + value)
                        table.cell(row, col).text = table.cell(row, col).text.replace(key, value)

    # paragraphs
    for para in document.paragraphs:
        for i in range(len(para.runs)):
            for key, value in DICT.items():
                if key in para.runs[i].text:
                    print(key + "->" + value)
                    para.runs[i].text = para.runs[i].text.replace(key, value)

    return document


if __name__ == '__main__':
    main()

批量替换word内容

标签:批量替换   https   tables   编号   docx   network   ocx   需求   work   

原文地址:https://www.cnblogs.com/mrwuzs/p/11444594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!