如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可以通过一个脚本自动生成报告,然后上班就可以腾出时间来学习其他的知识。
利用python生成word,我们需要学习一个新的模块:python-docx
首先:
安装模块: pip install python-docx
导入需要的模块
from docx import Document
创建一个空文档:
document = Document()doc.save('new-file-name.docx')
简单地几行代码我们就可以创建一个新的word文档,是不是很简单,但是我们今天要做的或许稍有难度,首先先看看我们今天的需求:
今天我们分析一份26所2019年高校开学流量变化
流程是这样的的:
- 通过pandas分析统计数据
- 通过matplotlib批量生成图表
- 通过python-docx自动化生成汇报word
报告模式:
- 一个大学一个标题
- 然后一段描述文字:
- 一张趋势变化图表
let's go!
现附上最后的结果,然后一步一步解析:
导入两份数据:历史数据,今天的数据
gx1=pd.read_clipboard()gx2=pd.read_clipboard()
新建一个word:
document = Document()
获取高校的校名清单:
gxlist = gx2["高校"].unique().tolist()
通过循环大学校名清单,一个一个处理:
for each in gxlist:
筛选每次循环到的高校数据:
x = gx2[gx2["高校"] == each] g = gx1[gx1["大学"] == each]
通过matplotlib画一个1*2的折线图:
sns.set_style("darkgrid") sns.set_context("notebook