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

很多时候,我们需要做一些重复性的工作,比如说,每个月制作类似的数据分析报告,整个框架是基本固定的,此时,我们可以采用 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 文件,就可以看到完整的数据分析报告结果。

这几个数据源网站你都知道吗!?

10大Python数据可视化库!

后台回复“入群”即可加入小z数据干货交流群
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python⾃动⽣成数据分析报告 很多时候,我们需要做⼀些重复性的⼯作,⽐如说,每个⽉制作类似的数据分析报告,整个框架是基本固定的,此时,我们可以采⽤ 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 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) font.color.rgb = RGBColor(0, 88, 159) # 继续添加其他内容 run = p.add_run() run.text = '。' # ***************2. ⽬标完成情况****************** # 添加幻灯⽚ slide_layout2 = prs.slide_layouts[3] slide2 = prs.sli
可以使用Python中的SQLAlchemy库来自动生成复杂的分析SQL语句。SQLAlchemy是一个Python SQL工具包和ORM框架,可以与多种数据库进行交互。使用SQLAlchemy可以方便地生成复杂的SQL查询语句,并将结果返回给Python程序进行分析和处理。 以下是一个简单的例子,使用SQLAlchemy生成一个计算销售额排名的SQL查询语句: ```python from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, func, text engine = create_engine('postgresql://user:password@host:port/database') metadata = MetaData() # 定义表结构 sales = Table('sales', metadata, Column('id', Integer, primary_key=True), Column('product', String), Column('sales_amount', Integer)) # 构建查询语句 stmt = select([sales.c.product, func.sum(sales.c.sales_amount).label('total_sales_amount'), func.rank().over(order_by=text('total_sales_amount DESC')).label('sales_rank')], group_by=[sales.c.product], order_by=[text('total_sales_amount DESC'), sales.c.product]) # 执行查询并输出结果 with engine.connect() as conn: result = conn.execute(stmt) for row in result: print(row) ``` 这个例子中,首先使用SQLAlchemy创建了一个数据库连接引擎和元数据对象。然后定义了一个销售表的结构,并使用SQLAlchemy的函数和语法构建了一个复杂的SQL查询语句,查询每个产品的销售额,并按照销售额排名进行排序。最后,使用连接引擎执行查询并输出结果。 当然,具体的SQL查询语句和查询表结构需要根据具体的分析需求进行调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值