四行Python代码解决excel数据填充到word指定位置!

网上介绍这两种格式转换的文章很多, 发现很少有实现指定位置替换并将所有内容生成在一个文档的,综合前辈的经验探索出了解决方案,希望能给有需要的小伙伴帮助。

excel原数据:

四行Python代码解决excel数据填充到word指定位置!_第1张图片

目标格式:

四行Python代码解决excel数据填充到word指定位置!_第2张图片
我们的目标就是将excel中的案例名称、步骤描述和预期结果内容填充到word中的对应位置。这里要用到的是python的pandas和docxtpl库。docxtpl 主要有两个软件包:python-docx 用于读取、写入和创建子文档;jinja2 用于管理插入到模板 docx 中的标签,需要二者结合来实现。

先了解一下jinja2的用法(下面的内容是写在word模板里的,不是代码噢,这里为了更直观一点):

(%p start %)#需要替换的内容范围开始
Here is content
(%p end %)#需要替换的内容范围结束

接下来开搞!

首先我们需要创建一个模板文档,如图:

四行Python代码解决excel数据填充到word指定位置!_第3张图片

接下来撸代码:

import pandas as pd
from docxtpl import DocxTemplate

#使用pandas读取excel原文件数据
df = pd.read_excel(r'F:\测试案例.xlsx', sheet_name='no2')#这里的sheet_name是指定工作表

# 把excel原文档数据通过jinja2模板匹配后,保存到word文档
tpl = DocxTemplate(r'F:\模板.docx')
tpl.render({'ps': df[["案例名称", "步骤描述", "预期结果"]].values.tolist()})#参数是excel的列名
tpl.save(r'F:\测试执行截图.docx')

执行完毕后会在指定文件夹目录生成一个新word文档,是我们指定的文件名称
四行Python代码解决excel数据填充到word指定位置!_第4张图片

打开看看!大功告成!!

创作不易,有帮助留赞哦!
PS:有需要调整文字格式的同学可以在word模板文档里调整,博主没试,自行探索哦
四行Python代码解决excel数据填充到word指定位置!_第5张图片

你可能感兴趣的:(python,excel,word)