2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

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

时间:2024-06-24 07:52:57

相关推荐

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

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

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

一、相关库的下载

pip install docxtplpip install openpyxl

二、excel 和 word模板事先准备

excel

word

三、代码实现

from docxtpl import DocxTemplatefrom openpyxl import load_workbookimport 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)].valuename2 = ws["B" + str(row)].valueyear = ws["C" + str(row)].valuememory = ws["D" + str(row)].valuecontext = {"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")

运行结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。