生信之旅

扫码分享下吧!
分享

python基于模板自动生成报告

进行数据分析,难免需要撰写分析报告,但是对需要经常分析的项目来说,每次都要重新创建并撰写报告比较麻烦,故将其集成到流程中会方便很多。这里我选择的是python库docxtpl。该库可以使用docx文档作为模板,使用类似jinja2语法的标签进行模板填充,能很好的满足我的需求,同时也容易上手。

一、安装

docxtpl库的安装比较简单,直接使用pip安装即可

pip install docxtpl

二、使用

docxtpl库的使用也很简单,下面举例进行说明常用的简单功能。

示例代码:

from docxtpl import DocxTemplate, InlineImage
from docx.shared import Mm


doc = DocxTemplate("t.docx")  # 读取模板
context = {
    "text": "测试",  # 文本信息
    "image": InlineImage(doc, 'tests/templates/bottle.png',width=Mm(160)),  # 图片信息
    "table1": [{'a':"col1",'b':"col2",'c':"col3"}],  # 表格
    "table2": [{'col':["col11","col12","col13","col14","col15"]},{'col':["col21","col22","col23","col24","col25"]}]  # 动态表格
}

doc.render(context)  # 基于内容渲染模板
doc.save('test.docx')  # 生成报告

模板文件为:

生成结果文件为:

参考链接:

  1. docxtpl github: https://github.com/elapouya/python-docx-template
  2. docxtpl官方文档:https://docxtpl.readthedocs.io/en/latest/
版权声明:本文转载请注明出处!

最新评论:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

captcha

公告栏

有任何问题均可以在文章页面留言!或者邮件 burning@burning.net.cn 欢迎关注微信公众号 “生信之旅”,每天均可在菜单栏领取外卖红包、支付宝红包!最高20元!

服务器推荐

欢迎关注公众号

欢迎关注生信之旅