来源:林骥

你好,我是林骥。

很多时候,我们需要做一些重复性的工作,比如说,每个月制作类似的数据分析报告,整个框架是基本固定的,此时,我们可以采用 Python 来自动生成数据分析报告,把更多的时间和精力用在分析上面,而不是调整报告的格式。

python-pptx 是一个能够自动创建和更新 PPT 文件的 Python 库,可以用来自动生成数据分析报告。

下面,我以自己的个人数据为例,用 python-pptx 制作一个简略版的数据分析报告,供你参考。

下面是具体制作的步骤和方法。

首先,如果你还没有安装 python-pptx,那么请在命令行输入:

pip install python-pptx

其次,利用 matplotlib 等绘图工具,生成数据分析报告中用到的图表,统一保存到 pic 文件夹中。

然后,建立一个 PPT 模板文件,预先定义好母版,设置相应的布局版式等,把文件命名为「模板.pptx」。

接下来,在 Jupyter Lab 环境中运行以下代码:

# 导入库
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor# 模板下载 https://github.com/linjiwx/mp
prs = Presentation('模板.pptx')# 添加幻灯片首页
slide_layout0 = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout0)# 设置标题和副标题文本
title = slide.shapes.title
subtitle = slide.placeholders[10]
title.text = '2020年9月林骥的数据分析报告'
subtitle.text = '2020-10-08'# 添加幻灯片,正文模块,根据实际需求选择布局版式# *************1. 主要分析结论*****************
slide_layout1 = prs.slide_layouts[1]
slide1 = prs.slides.add_slide(slide_layout1)# 添加标题
title = slide1.placeholders[10]
title.text = "1. 主要分析结论"# 添加正文内容
content = slide1.placeholders[11]
ft = content.text_frame
ft.clear()
p = ft.paragraphs[0]
run = p.add_run()
run.text = '(1) 年初制定的运动目标是平均每天走'# 重点强调的内容
run = p.add_run()
run.text = '10000步'
font = run.font
font.name = 'Arial'
font.size = Pt(26)
font.color.rgb = RGBColor(0, 88, 159)# 继续添加其他内容
run = p.add_run()
run.text = ',9月份的目标完成率为'# 重点强调的内容
run = p.add_run()
run.text = '108.8%'
font = run.font
font.name = 'Arial'
font.size = Pt(26)
font.color.rgb = RGBColor(0, 88, 159)# 继续添加其他内容
run = p.add_run()
run.text = ''',超额完成任务目标;(2) 学习的各项指标均有所提升,其中笔记方面的提升最为明显,9月底的笔记评级变成'''# 重点强调的内容
run = p.add_run()
run.text = 'A+'
font = run.font
font.name = 'Arial'
font.size = Pt(26)
font.color.rgb = RGBColor(0, 88, 159)# 继续添加其他内容
run = p.add_run()
run.text = '。'# ***************2. 目标完成情况******************
# 添加幻灯片
slide_layout2 = prs.slide_layouts[3]
slide2 = prs.slides.add_slide(slide_layout2)
# 添加正文模块标题
title= slide2.placeholders[10]
title.text = "2. 目标完成情况"
# 插入图片 https://github.com/linjiwx/mp
img_path='./pic/2. 目标完成情况.jpg'
picture_placeholder = slide2.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 添加描述内容
content= slide2.placeholders[12]
content.text = ' '# ***************3. 关键指标变化******************
# 添加幻灯片
slide_layout3 = prs.slide_layouts[6]
slide3 = prs.slides.add_slide(slide_layout3)
# 添加正文模块标题
title= slide3.placeholders[10]
title.text = "3. 关键指标变化"
# 插入图片对象,主图
img_path='./pic/3. 关键指标变化.jpg'
picture_placeholder = slide3.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 添加描述内容
content= slide3.placeholders[12]
content.text = '''与年初相比,
各项指标均有所提升,
其中笔记的提升最多,
9月底的笔记评级变成A+。
'''# ***************4. 变化原因分析******************
# 添加幻灯片
slide_layout4 = prs.slide_layouts[1]
slide4 = prs.slides.add_slide(slide_layout4)# 添加正文模块标题
title= slide4.placeholders[10]
title.text = "4. 变化原因分析"# 添加描述内容
content= slide4.placeholders[11]
content.text = '''
(1) 为了错开上班早高峰的时间,我早上通常在7点钟之前就到了公司,增加了很多学习和写读书笔记的时间;(2) 在OKR方法的指引下,我年初制定了精细阅读26本书和原创写作60篇文章的目标,用输出倒逼输入。
'''# *************5. 建议改善措施*****************
slide_layout5 = prs.slide_layouts[1]
slide5 = prs.slides.add_slide(slide_layout5)# 添加正文模块标题
title= slide5.placeholders[10]
title.text = "5. 建议改善措施"# 添加内容
content= slide5.placeholders[11]
content.text = '''
(1) 建议继续坚持运动和学习,提升自己的健康水平和能力水平,以饱满的状态投入工作,不断提高工作效率,创造出远大于回报的价值;(2) 建议加强知识分享,教会别人,比自己动手操作要难得多,但是,分享的过程会让自己收获更多,这是一件值得投入的事。
'''# ***************6. 封底******************
# 添加幻灯片
slide_layout2 = prs.slide_layouts[3]
slide2 = prs.slides.add_slide(slide_layout2)
# 添加正文模块标题
title= slide2.placeholders[10]
title.text = '6. 感谢您的关注'
# 插入图片对象,主图
img_path='./pic/林骥.png'
picture_placeholder = slide2.placeholders[11]
placeholder_picture = picture_placeholder.insert_picture(img_path)
# 添加描述内容
content= slide2.placeholders[12]
content.text = '用数据化解难题,让分析更加有效。'prs.save('2020年9月林骥的数据分析报告.pptx')print("报告已生成,请打开PPT文件查看。")

打开自动生成的 PPT 文件,就可以看到完整的数据分析报告结果。

万水千山总是情,点个 ???? 行不行。

---------End---------

公众号后台回复「微信群」,将邀请加入读者交流群。

  • 《Python知识手册》

  • 《Matplotlib可视化指南》

  • 《Plotly可视化指南》

  • 《Pandas使用指南》

  • 《机器学习精选》

????分享、点赞、在看,给个三连击呗!???? 

用Python自动生成数据分析报告!相关推荐

  1. 用Python自动生成数据分析报告

    公众号后台回复"图书",了解更多号主新书内容 作者:林骥 来源:林骥 很多时候,我们需要做一些重复性的工作,比如说,每个月制作类似的数据分析报告,整个框架是基本固定的,此时,我们可 ...

  2. python自动生成word报告

    python自动生成word报告 运用zipfile解压docx并替换模版内容 本文章主要介绍根据所提供的word模版,运用python zipfile库将word解压为xml格式,并通过文字替换自动 ...

  3. python自动生成ppt报告_把时间还给洞察,且看PPT调研报告自动生成攻略

    文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中.去年11月在简书占了个坑,说要自己写 ...

  4. python自动生成分析报告_利用PYTHON全自动生成分析报告

    日常工作当中,特别是金融行业当中,有不少人的工作是提取数据,分析数据,得到可视化图表,并加入自已的研究分析结论,最终生成分析报告,并且有不少报告是定期生成,存在不少重复手工劳动.本文通过一个简单实例, ...

  5. python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+

    打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...

  6. python自动生成word报告_利用Python实现报告自动生成

    前几天,在网上看到一篇介绍利用Python组件实现MS word内容生成的文章.可能是很久没接触编码,感觉在技术领域变得有点孤陋寡闻了,看见一些实用的功能都觉的屌屌的.以前经常通过代码写Excel文件 ...

  7. python自动生成ppt报告_实战 | Python自动生成PPT分析报告

    importreportasrpt# 文件I/Odata=rpt.read_data(filename)code=rpt.read_code(filename)rpt.save_data(data,f ...

  8. python ppt自动生成_实战 | Python自动生成PPT调研报告

    原标题:实战 | Python自动生成PPT调研报告 原文: 全文约 3821 字,读完可能需要 5 分钟. 文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据 ...

  9. python项目分析报告_实战 | Python自动生成PPT分析报告

    原标题:实战 | Python自动生成PPT分析报告 在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中.去年11月在简书占了个 ...

最新文章

  1. 成果展示 | 清华大学大数据研究中心——医工结合科研创新支持计划
  2. [MOSS开发]:WSS v3授权
  3. html5 meta标签属性整理
  4. java前后端分离账号错误_前后端分离,获取token,验证登陆是否失效
  5. springboot + shiro 尝试登录次数限制与并发登录人数控制
  6. super函数没有那么简单-super原理剖析
  7. find 命令的参数详解
  8. LINUX内核完全注释
  9. easyui数据表格显示复选框_【Excel技巧】使用控件一键切换实现单位元和万元随意显示...
  10. linux中samba详解,详解linux系列之samba的安装及配置
  11. Udp通讯(零基础)
  12. discuz二次元文章博客模板
  13. Great Song
  14. Python 爬取科技部计划申报指南pdf文件并作词频分析
  15. Windows下LimeSDR Mini使用说明
  16. hazelcast 搭建_hazelcast Management Center 源码分析
  17. luat驱动LCD屏幕
  18. 武汉大学信管专业期末复习系列——《计算机网络》(谢希仁版)(网络层)
  19. 树莓派与声音传感器 python
  20. 基础篇 | 15 C++ 科学计算 - OpenBLAS的安装与使用

热门文章

  1. speedoffice(Excel)如何进行美化
  2. 基于ssm+mysql+oracle宿舍管理
  3. 2014巴西世界杯小组赛赛程
  4. 开源对话机器人框架:Rasa概述【中小型公司使用Rasa框架,降低准入门槛。灵活性不够高】【可以本地部署】【保护数据隐私(其他框架需要将自己的数据上传到框架官方云服务器,不安全)】【可以重写一些类】
  5. 特斯拉上海工厂二期进展神速:已经开始建造屋顶
  6. 破解万象040608
  7. unigui1.90.0.1555版本简易安装方式(delphi11)
  8. 计算式二级python_python实现自动生成小学四则运算题目(软工第二次项目作业)...
  9. linux截图工具下载,Ubuntu 安装 Linux Deepin 截图工具(.deb)
  10. 【Code】ASCII码表