批量置换最常用的是HR对员工合同的批量更新或者其他文书的处理。当在一份合同里有着几十甚至上百的条款需要更新、更改,而合同量是上百,上千的,估计要弄一周,甚至更长的时间。
在最近接的一个job 里,帮某500强企业HR解决了这既烦锁又机械重复的问题。在数量多的情况下制作起来很费时间,也容易出错。如果用 Python 批量制作合同,不但效率高,还能保证正确率。上百,上千份的合同,通过代码去实现自动化,只需要大概 1分钟 - 5分钟就可以完成,相比人手去复制粘贴,更加高效。
核心代码如下:
def info_update(doc, old_info, new_info):
for para in doc.paragraphs: #遍历字段
for run in para.runs: #遍历字符格式
run.text = run.text.replace(old_info, new_info)
for table in doc.tables: # 用于对表格的读取
for row in table.rows: # 遍历行
for cell in row.cells: # 遍历单元格
cell.text = cell.text.replace(old_info, new_info)
其中 old_info, new_info 可以通过 openpyxl 的 load_workbook,读取目标 Excel 的单元格内容,把这函数直接封装在 for 循环里,实现对行,列的单元格内容提取并替换。如下图例子,对<<合同编号>> 查找并批量替换。