python 批量创建50份合同,调整单位名字。名字,男女,身份证号
时间: 2024-01-10 14:25:01 浏览: 70
以下是一个简单的Python脚本,用于批量创建50份合同并调整单位名字、名字、性别和身份证号:
```python
import docx
import os
import re
# 定义需要替换的信息
company_name = 'ABC公司'
names = ['张三', '李四', '王五', '赵六', '陈七', '周八', '钱九', '孙十', '吴十一', '郑十二', '冯十三', '陈十四', '李十五', '赵十六', '周十七', '吴十八', '钱十九', '孙二十', '郑二十一', '冯二十二', '陈二十三', '李二十四', '赵二十五', '周二十六', '吴二十七', '钱二十八', '孙二十九', '郑三十', '冯三十一', '陈三十二', '李三十三', '赵三十四', '周三十五', '吴三十六', '钱三十七', '孙三十八', '郑三十九', '冯四十', '陈四十一', '李四十二', '赵四十三', '周四十四', '吴四十五', '钱四十六', '孙四十七', '郑四十八', '冯四十九', '陈五十']
sexes = ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女', '男', '女']
id_cards = ['123456789012345678', '234567890123456789', '345678901234567890', '456789012345678901', '567890123456789012', '678901234567890123', '789012345678901234', '890123456789012345', '901234567890123456', '012345678901234567', '123456789012345678', '234567890123456789', '345678901234567890', '456789012345678901', '567890123456789012', '678901234567890123', '789012345678901234', '890123456789012345', '901234567890123456', '012345678901234567', '123456789012345678', '234567890123456789', '345678901234567890', '456789012345678901', '567890123456789012', '678901234567890123', '789012345678901234', '890123456789012345', '901234567890123456', '012345678901234567', '123456789012345678', '234567890123456789', '345678901234567890', '456789012345678901', '567890123456789012', '678901234567890123', '789012345678901234', '890123456789012345', '901234567890123456', '012345678901234567', '123456789012345678', '234567890123456789', '345678901234567890', '456789012345678901', '567890123456789012', '678901234567890123', '789012345678901234', '890123456789012345', '901234567890123456', '012345678901234567']
# 遍历1到50,创建50份合同
for i in range(1, 51):
# 打开合同模板
doc = docx.Document('./contract_template.docx')
# 处理单位名字
for paragraph in doc.paragraphs:
if company_name in paragraph.text:
paragraph.text = paragraph.text.replace(company_name, 'XYZ公司')
# 处理名字、性别和身份证号
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
cell.text = re.sub(r'\[(name|sex|id_card)\]', lambda match: names[i-1] if match.group(1) == 'name' else sexes[i-1] if match.group(1) == 'sex' else id_cards[i-1], cell.text)
# 保存新的合同文件
doc.save('./contracts/contract_' + str(i) + '.docx')
```
在这个脚本中,我们定义了需要替换的信息,包括单位名字、名字、性别和身份证号。然后使用for循环遍历1到50,创建50份合同。对于每份合同,我们使用docx库打开合同模板,然后遍历所有段落,使用replace函数将单位名字替换为新的名字。接着,我们遍历所有表格,使用正则表达式匹配需要替换的内容,然后使用lambda函数根据匹配的内容替换为新的名字、性别或身份证号。最后,我们使用docx库保存修改后的合同文件。
希望这个脚本对您批量创建50份合同并调整单位名字、名字、性别和身份证号有所帮助。
阅读全文