栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

一、相关库的下载二、excel 和 word模板事先准备三、代码实现

一、相关库的下载
pip install docxtpl
pip install openpyxl
二、excel 和 word模板事先准备

excel

word

三、代码实现
from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os
#定义一个空的列表用于存放数据
contexts = []
#获取excel中的数据
def get_excel_data(excel_pathname):
    #获取excel句柄
    wk = load_workbook(excel_pathname)
    #获取excel对应的表单
    ws = wk['Sheet1']
    #Start row, where data begins 
    #Getting cell value, from columns A, B and C
    #Iterating through rows 2, 3, 4 ... 
    for row in range(2,ws.max_row + 1):
        name1 = ws["A" + str(row)].value
        name2 = ws["B" + str(row)].value
        year  = ws["C" + str(row)].value
        memory = ws["D" + str(row)].value
        context = {"name1":name1,"name2":name2,"year":year,"memory":memory}
        contexts.append(context)

def finish_word_data(word_pathname):
    if not os.path.exists("./所有合同"):
        #创建要保存的文件夹
        os.mkdir("./所有合同")
    for context in contexts:
        print(context)
        tpl = DocxTemplate(word_pathname) #获取原有的word模板数据
        tpl.render(context)               #利用插值表达式{{ example }}  替换word模板中需要替换的地方
        tpl.save("./所有合同/{}的劳动合同.docx".format(context["name2"])) #保存为新的word,修改后的

if __name__ == "__main__":
    get_excel_data(r"./相关劳动合同签署人员.xlsx")
    finish_word_data(r"./劳动合同模板.docx")

运行结果:


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号