我有以下代码,用于从数据帧中创建ppt:
下面是3张幻灯片的代码片段:
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"既然我必须创建多个这样的幻灯片,有没有办法使用循环来创建多个幻灯片,而不是一个接一个地手动创建?
此外,我正在向幻灯片中写入数据帧,如下所示:
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:我的代码工作正常,没有任何问题,只是想限制重复性任务的代码行。
发布于 2019-12-25 04:03:58
这就是函数的用途,将一些重复的任务抽象为一个(函数)调用:
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是围绕一次一个问题的格式设计的。
发布于 2019-12-24 14:03:22
不完全确定,但您可以尝试如下所示:
slide = ["slide" + str(num1) for num1 in range(1,4)]
df = ["df" + str(num1) for num1 in range(1,4)]
for i in range(0,3):
df_to_table(slide[i], df[i], left, top, width, height)https://stackoverflow.com/questions/59464366
复制相似问题