办公自动化12-word批量替换(将替换内容写在excel里)
生活随笔
收集整理的這篇文章主要介紹了
办公自动化12-word批量替换(将替换内容写在excel里)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有些時(shí)候,需要批量替換word的內(nèi)容,每次都打開(kāi)‘查找替換’窗口比較繁瑣,這個(gè)時(shí)候我們可以把想要替換的內(nèi)容放在excel里,如下圖
然后通過(guò)代碼實(shí)現(xiàn)word批量替換。
import xlrd
from docx import Document
#1.excel轉(zhuǎn)化為dict
dir_case = 'C:\Users\17360\Desktop\test.xlsx' #存放替換內(nèi)容的excel地址
data = xlrd.open_workbook(dir_case)
table = data.sheets()[0]#數(shù)據(jù)是存放在excel的第一個(gè)sheet
nor = table.nrows
nol = table.ncols
dict1 = {}
for i in range(1,nor):
for j in range(nol):
title = table.cell_value(0,j)
value = table.cell_value(i,j)
dict1[title] = value
#2.word批量替換
def check_and_change(document, replace_dict):
"""
遍歷word中的所有 paragraphs,在每一段中發(fā)現(xiàn)含有key 的內(nèi)容,就替換為 value 。
(key 和 value 都是replace_dict中的鍵值對(duì)。)
"""
for para in document.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_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
old_file = 'C:\Users\17360\Desktop\test.docx'
new_file = 'C:\Users\17360\Desktop\test1.docx'
document = Document(old_file)
document = check_and_change(document, dict1)
document.save(new_file)
備注:如果想要替換數(shù)字的話,需要在excel里將數(shù)字格式設(shè)置為‘文本’哦
有問(wèn)題歡迎留言^_^
總結(jié)
以上是生活随笔為你收集整理的办公自动化12-word批量替换(将替换内容写在excel里)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小米3手机如何开启usb调试模式,及图文
- 下一篇: iOS10.3.3 Beta4更新了什么