用Python快速生成报表之一

一、前

昨天两年多没有见过面的大Boss在澳洲给我老板和我开视频会议,他要求我们做到当他提出需要什么数据的时候,技术这边能够在5分钟之内快速给到他 ,我心里有一万匹马奔腾而过,Java在处理这些事情上效率比较低,php或python就方便得多,当然5分钟之内搞定那也是不太可能的,老板的话听听就行,不要和他顶嘴,哈哈,我们今天就来看一下如何用Python html-table库快速生成HTML表格页面。

二、搭建环境

基础环境Python3.8。

1、安装html-table

这是一个很简单的生成html表格pyhton库,主要可以比较容易实现单元格合并以及表格样式调整等。源代码地址:https://github.com/fasionchan/py-html-table

pip3 install html-table

2、安装pymysql驱动

pip3 install pymysql

三、报表需求

我们用一个简单例子来介绍,实际的数据要求会复杂很多,要区分品类、花型、销售占比、库存、采购、发货、成本等数据。老板今天可能想要这个维度统计的数据,明天一拍脑袋又想要另外一个维度统计的数据,各种各样,如果是大厂你搞个数据平台然后做一套自定义报表的系统可以满足这种变化无端的数据需求,在小厂里是不可能有这个人力资源做这件事情的,但总还是要想办法快速解决老板的需求。

用Python快速生成报表之一_第1张图片

四、代码介绍

用Python快速生成报表之一_第2张图片

表头的设置


table.append_header_rows((
  ('门店','商品条码','销售情况',''),
  ('','','2021年销量','2021年销售额')
))

表头分为两行,有些单元格需要合并,被合并的单元格需要留空占位。

合并单元格设置

table[0][0].attr.rowspan = 2
table[0][2].attr.colspan = 2

table[0][0].attr就是第一个单元格,将其rowspan设置为2就会合并掉它下面的一个单元格,列合并类似就是换成设置colspan.

注:关于pymysql的使用可以参看 用Python订正数据

表格样式的设置其实就是直接设置CSS

用Python快速生成报表之一_第3张图片

下一篇再介绍用Python如何做Web版本,后续再介绍Python  pandas 等与数据分析有关的工具。

你可能感兴趣的:(Python&Go,python,开发语言)