要使用Python自动生成合同,你可以遵循以下步骤:
1. 准备合同模板:
使用`{{}}`作为占位符来标记需要替换的要素。
2. 准备合同要素的Excel文件:
创建一个Excel文件,其中A列包含要素编号,其他列包含对应的新内容。
确保所有单元格格式设置为文本格式。
3. 安装必要的Python库:
`openpyxl`:用于操作Excel文件。
`docx`:用于操作Word文档模板。
`os`:用于文件操作。
`docx-mailmerge`:用于解析MS Word docx文件并填充合并字段。
4. 编写代码:
导入所需的库。
定义替换函数,用于替换合同模板中的占位符。
读取Excel文件中的数据,并将其存储在适当的数据结构中。
读取合同模板文件。
使用`docx-mailmerge`库填充模板中的合并字段。
生成新的Word文档。
5. 运行代码:
将Python脚本与合同模板和要素Excel文件放在同一文件夹中。
运行Python脚本,它将自动生成合同文档。
from docxtpl import DocxTemplate
读取合同模板
with open('合同模板.docx', 'r') as f:
template_content = f.read()
创建模板对象
template = DocxTemplate(template_content)
准备合同要素数据
contract_data = [
{'甲方公司': '甲方公司A', '乙方人员姓名': '乙方人员A', '签约日期': '2024-05-01'},
{'甲方公司': '甲方公司B', '乙方人员姓名': '乙方人员B', '签约日期': '2024-05-02'}
]
填充模板并生成合同文档
for data in contract_data:
rendered_doc = template.render(data)
with open(f'合同_{data["甲方公司"]}.docx', 'w') as f:
f.write(rendered_doc)
请根据你的具体需求调整代码,并确保所有文件路径和模板内容正确无误。