在python-pptx中使用循环创建多个幻灯片并将数据帧写入幻灯片 [英] Using loops in python-pptx to create multiple slides and writing dataframe to slides

查看:584
本文介绍了在python-pptx中使用循环创建多个幻灯片并将数据帧写入幻灯片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码用于从数据帧中创建ppt:

I have the below code for creating ppt out of dataframes:

下面是3张幻灯片的代码片段:

Below is a snippet of the code for 3 slides:

title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
slide2 = prs.slides.add_slide(title_slide_layout)
slide3 = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = "Summary Table"
title2 = slide2.shapes.title
title2.text = "New Table"
title3 = slide3.shapes.title
title3.text = "Old Table"

由于我必须创建多张这样的幻灯片,所以仍然可以使用循环来创建多张幻灯片,而不是手动一个个地创建它吗?

Since i have to create multiple such slides is there anyway to use loops and create multiple slides instead of creating it one by one manually?

此外,我正在将数据帧写入幻灯片,如下所示:

Also, I am writing dataframes to slides like this:

df_to_table(slide, df1, left, top, width, height)
df_to_table(slide2, df2, left, top, width, height)
df_to_table(slide3, df3, left, top, width, height)

反正还有循环吗?

节点:我的代码运行正常,没有任何问题,只想限制重复任务的代码行.

Node: My code is working fine without any issues, just want to limit the lines of code for repetitive tasks.

推荐答案

这是函数的作用,用于将一些重复的任务抽象为(函数)调用:

This is what functions are for, to abstract some repetative task down to a (function) call:

def add_slide(prs, layout, title):
    """Return slide newly added to `prs` using `layout` and having `title`."""
    slide = prs.slides.add_slide(layout)
    slide.shapes.title.text = title
    return slide


title_slide_layout = prs.slide_layouts[1]
slide = add_slide(prs, title_slide_layout, "Summary Table")
slide2 = add_slide(prs, title_slide_layout, "New Table")
slide3 = add_slide(prs, title_slide_layout, "Old Table")

您的第二个问题是一个完全不同的问题,我建议您分别提出. StackOverflow是围绕一次一个问题的格式设计的.

Your second question is an entirely different question and I recommend you ask it separately. StackOverflow is designed around a one-question-at-a-time format.

这篇关于在python-pptx中使用循环创建多个幻灯片并将数据帧写入幻灯片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆