|
发表于 2021-11-26 11:47:27
|
显示全部楼层
def check_and_change(document, replace_dict, new_file):#docx分为段落里的run和表格里的cell两部分逐个替换
j=0
k=0#敏感词计数
###check敏感词
for para in document.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
j = j + para.runs[i].text.count(key)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for key, value in replace_dict.items():
k = k + cell.text.count(key)
if j+k>0:#若j+k大于零说明有敏感词
###change敏感词
for para in document.paragraphs:
for run in para.runs:
for key, value in replace_dict.items():
if key in run.text:
run.text = run.text.replace(key, value)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for key, value in replace_dict.items():
if key in cell.text:
cell.text = cell.text.replace(key, value)
document.save(new_file)#保存新文件
return document
|
|