背景

随着报表不断的变化,我们决定采用python进行开发。使用的库主要是mako.render

开发流程

  1. 设计模板Template
  2. 准备数据Data
  3. 通过mako.render将数据render到模板中
  4. 发送邮件:指定html、title、收件人列表

Template

模板就是一个html文件,不过其中可以使用Template语法,以引入python生成的数据

  • 引用数据
 ${data['count']}
  • 循环
% for item in dataSort:
<tr><td>${item['package_name']}</td><td>${item['app_name']}</td><td>${item['download_num']}</td>
</tr>
% endfor
  • if
 % if isWeekToWeek:<td>item['lastweek']</td>% endif

数据生成

根据报表的样式,将数据生成,可以使用原始数据类型、列表、dict等

数据render到模板中

通过下面的代码,可以将数据和模板转换成html文件

    template = Template(filename=templateFileName, format_exceptions=True)htmlFile = open(htmlFile, 'w')buffer = template.render(dataSort=dataSort, isWeekToWeek=isWeekToWeek, data=data)htmlFile.write(buffer)htmlFile.close()

java中类似的库

如果通过java生成报表,可以使用freemarker

python制作报表相关推荐

  1. 用python制作报表

    本文将介绍Python如何制作报表,主要分为三个部分:导出Excel报表.导出PDF报表和生成前端统计图表. 导出Excel报表 数据报表是用表格.图表等格式来动态显示数据的一种方式,它的公式被描述为 ...

  2. 用 Python 制作可视化报表,这也太快了!

    作者 | 小F 来源 | 法纳斯特 在数据展示中使用图表来分享自己的见解,是个非常常见的方法. 这也是Tableau.Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图 ...

  3. 用Python制作酷炫的可视化报表。

    在数据展示中使用图表来分享自己的见解,是个非常常见的方法. 这也是Tableau.Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图形解释. 当然了,这些工具也有着不少 ...

  4. Python办公自动化:制作报表并发送到邮箱

    大家好,我是辰哥(文末送书) 作为数据分析师,我们需要经常制作统计分析图表.但是报表太多的时候往往需要花费我们大部分时间去制作报表.这耽误了我们利用大量的时间去进行数据分析.但是作为数据分析师我们应该 ...

  5. 软件测试|Python操作Excel制作报表,不要太方便

    前言 今天我们介绍的是Python操作Excel制作报表,我们需要用到的库是openpyxl,我们主要使用的功能有下列几个功能 插入与查询数据 分类数据统计 数据可视化 字体颜色修改 基本操作 表格初 ...

  6. python制作数据库报表_如何制作数据报表并实现自动化?

    定期的数据报表,包括日报.周报.月报.半年报.年报,是每一位数据运营或数据分析师可能遇到的工作,需求方主要包括产品运营部门和各业务部门.基于不同公司的不同发展阶段,遇到的报表工作"层次&qu ...

  7. 用Python自动化操作Excel制作报表,真的是太方便啦!!!

    今天小编来介绍一下如何用Python来操作Excel文件,当中需要用到的模块叫做openpyxl,其中我们会涉及到一些基本常规的操作,例如有 插入与查询数据 分类统计数据 数据的可视化 字体颜色的更改 ...

  8. python做报表汇总_python制作简单报表

    使用python制作一个简单的工作簿: ①导包 ( xlwt扩展包,用于excel的读取,实现表单和指定单元格的写入.) import xlwt ②创建工作簿 workbook = xlwt.Work ...

  9. 【实战篇】轻松用 Python 进行报表自动化

    大家好,今天给大家分享如何轻松用 Python 制作自动化报表,喜欢记得收藏.点赞.关注. ⚠️注意:文末提供技术交流群,完整版代码文末获取 本篇文章将带你了解报表自动化的流程,并教你用Python实 ...

最新文章

  1. 某程序员炫耀:因长得太帅被女领导追求,三年就提拔到总监!程序员搞技术没用,健身护肤才是王道!...
  2. AD5272数字变阻器
  3. 数据集和神经网络共同进步之代码之路
  4. Residual Networks
  5. i219 2012驱动_2012年I / O之后
  6. 【ECharts系列|01入门】 从入门到天黑【入门级教程实战】
  7. Error: EACCES: permission denied, mkdir
  8. 机器学习中生成模型和判别模型
  9. 【Python成长之路】python 基础篇 -- 装饰器【华为云分享】
  10. WPF RichTextBox 控件常用方法和属性
  11. mmap函数_Linux中的mmap映射 [二]
  12. STM32F 驱动WS2812B (3) SPI+DMA
  13. LWN:终于能够防护 straight-line 预测执行漏洞了!
  14. 播放和保存视频,图像倒置纠正到本地文件夹(含ffmpeg ,pyav多线程读取多路网络摄像头)
  15. 魔方(10)金字塔魔方、金字塔二重奏魔方
  16. Docker中成功安装修罗Xiunobbs论坛步骤
  17. 苹果新妙控键盘上的 Touch ID 与 M1 iPad Pro 不兼容
  18. 来自Naval Ravikant 的十句话
  19. Win 10系统修复,DISM_se7en3_新浪博客
  20. java编写九宫格拼图游戏_九宫格拼图游戏

热门文章

  1. bcl-convert安装问题
  2. 限制文本框输入的内容
  3. 资产跟踪设备中GPS精度因子的数值和范围
  4. AR技术的应用和限制
  5. 关于89C52单片机11.0592M晶振产生115200波特率的方法
  6. 『无为则无心』Python面向对象 — 47、Python中的self详解
  7. P34 字符串类型的函数讲解
  8. python实现手写识别系统
  9. Oracle用户Profile详解
  10. 随机过程(三)平稳随机过程