学会用Python自动生成数据分析报告,保你每天准时下班!

开课吧开课吧小西2021-03-04 19:10

点赞
有用
分享分享

在日常工作中,我们经常在做很多重复性的工作,例如:月初的数据分析报告,几乎就是按照固定的模板填充内容,如果每次都手动去做这个事情,不仅浪费时间,对我们的职场成长益处也不大,不如用Python来自动生成数据分析报告,这样就可以腾出更多精力和时间去做更有意义的事情。

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

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

Python教程

Python教程

Python教程

Python教程

Python教程

Python教程

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

首先,如果你还没有安装 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 文件,就可以看到完整的数据分析报告结果。

Python数据分析入门内容先给大家介绍这些,如果你没看够,小编在这里为大家推荐一门课程—《数据分析就业班春招特训营—体验课》,帮你从0基础小白快速变身大厂刚需人才,早日实现你的涨薪计划!速度点击下方图片报名吧!

Python教程

对于经典的编程语言而言,Python是使用率最高的之一,所以把握好机会,让自己的技术快速成长!

有用
分享