- ppt添加动画在哪里设置:快来看看,给PPT加上粒子飞散动画有多酷炫!
- ppt素材图片大全简约:白色小人数据分析PPT背景图片大全
- ppt图表坐标轴颜色修改:蓝色清新卷轴状展示架子PPT模板
- ppt怎么让照片滚动播放:怎么制作PPT相册滚动效果(怎么制作ppt相册滚动效果)
下面的是PPT教程网给你带来的相关内容:
powerpoint怎么制作ppt:5分钟让你用Python作出最精美的Powerpoint
介绍
在大多数商业环境中被广泛使用。本文向您展示如何使用通过使用自动创建幻灯片。
5分钟让你用作出最精美的
在前面的文章里,我们讲解了很棒的库,用于创建和更新文件:。该API是非常有据可查所以它是很容易使用。唯一棘手的部分是理解文档结构,包括各种主布局和元素。一旦理解了基础知识,自动创建自己的幻灯片就相对简单了。本文将介绍使用读取和分析某些Excel数据,创建表格以及构建可嵌入文件的图形的示例。
先来看看制作的精美PPT效果吧:
精美PPT效果1
精美PPT效果2
精美PPT效果3
眼花缭乱了吧,让我们赶紧向下学习。
文件基础知识
-pptx可以创建空白的文件,但大多数人更愿意使用可以使用您自己的内容自定义的预定义模板。-pptx的API非常简单地支持这个过程,只要您了解模板的一些内容即可。
在深入研究一些代码示例之前,您需要了解两个关键组件:幻灯片布局和占位符。在下面的例子中,有两个不同布局的示例以及模板的占位符,可以在其中填充内容。
在下图中,可以看到我们正在使用布局0,并且幻灯片上的索引1处有一个占位符。
在此图像中,我们使用布局1来获得完全不同的外观。
模板让工作更轻松,创建了一个简单的独立脚本,该脚本采用模板并使用各种元素对其进行标记。
这里是程序源码,不要着急,看起来很多,但是我们下面会一一讲解。
.py
主要模块功能
开始讲解程序主要的功能:
def analyze_ppt(input, output): """ Take the input file and analyze the structure. The output file contains marked up information to make it easier for generating future powerpoint templates. """ prs = Presentation(input) # Each powerpoint file has multiple layouts # Loop through them all and see where the various elements are for index, _ in enumerate(prs.slide_layouts): slide = prs.slides.add_slide(prs.slide_layouts[index]) # Not every slide has to have a title try: title = slide.shapes.title title.text = 'Title for Layout {}'.format(index) except AttributeError: print("No Title for Layout {}".format(index)) # Go through all the placeholders and identify them by index and type for shape in slide.placeholders: if shape.is_placeholder: phf = shape.placeholder_format # Do not overwrite the title which is just a special placeholder try: if 'Title' not in shape.text: shape.text = 'Placeholder index:{} type:{}'.format(phf.idx, shape.name) except AttributeError: print("{} has no text attribute".format(phf.type)) print('{} {}'.format(phf.idx, shape.name)) prs.save(output)
此函数的基本流程是循环并创建源文件中包含的每个布局的示例。然后在每张幻灯片上,它将填充标题(如果存在)。最后,它将遍历模板中包含的所有占位符,并显示占位符的索引以及类型。
如果你想自己尝试一下:
python analyze_ppt.py simple-template.ppt simple-template-markup.ppt
创建自己的
下面不详细涉及具体数据操作,因此在深入研究代码之前确保您对它有了解是有帮助的。让我们从程序的输入和基本shell开始:
from __future__ import print_function from pptx import Presentation from pptx.util import Inches import argparse import pandas as pd import numpy as np from datetime import date import matplotlib.pyplot as plt import seaborn as sns # Functions go here if __name__ == "__main__": args = parse_args() df = pd.read_excel(args.report.name) report_data = create_pivot(df) create_chart(df, "report-image.png") create_ppt(args.infile.name, args.outfile.name, report_data, "report-image.png") 在创建命令行args之后,将源Excel文件读入pandas DataFrame。接下来,我们使用该DataFrame作为输入来创建数据的Pivot_table摘要: def create_pivot(df, index_list=["Manager", "Rep", "Product"], value_list=["Price", "Quantity"]): """ Take a DataFrame and create a pivot table Return it as a DataFrame pivot table """ table = pd.pivot_table(df, index=index_list, values=value_list, aggfunc=[np.sum, np.mean], fill_value=0) return table 下一部分分析是按帐户创建销售业绩的简单条形图: def create_chart(df, filename): """ Create a simple bar chart saved to the filename based on the dataframe passed to the function """ df['total'] = df['Quantity'] * df['Price'] final_plot = df.groupby('Name')['total'].sum().order().plot(kind='barh') fig = final_plot.get_figure() # Size is the same as the PowerPoint placeholder fig.set_size_inches(6, 4.5) fig.savefig(filename, bbox_inches='tight', dpi=600) 这是图像的缩略图:
已经完成了图表和数据透视表。现在,将基于给定的模板文件将该图表嵌入到新的文件中。
在深入下面的讲述前,有几点需要注意。需要知道要使用的布局以及要填充内容的位置。在查看输出时,.py 我们知道标题幻灯片是布局0,并且它在占位符1处具有title属性和副标题。
这是我们用来创建输出的函数的开头:
def create_ppt(input, output, report_data, chart): """ Take the input powerpoint file and use it as the template for the output file. """ prs = Presentation(input) # Use the output from analyze_ppt to understand which layouts and placeholders # to use # Create a title slide first title_slide_layout = prs.slide_layouts[0] slide = prs.slides.add_slide(title_slide_layout) title = slide.shapes.title subtitle = slide.placeholders[1] title.text = "Quarterly Report" subtitle.text = "Generated on {:%m-%d-%Y}".format(date.today()) 此代码基于我们的输入文件创建新的演示文稿,添加单个幻灯片并填充幻灯片上的标题和副标题。它看起来像这样:
很酷吧?
下一步是将图片嵌入幻灯片中。
从之前的分析中powerpoint怎么制作ppt:5分钟让你用Python作出最精美的Powerpoint,我们知道想要使用的图形幻灯片是布局索引8,因此我们创建一个新幻灯片,添加标题然后将图片添加到占位符1.最后一步在占位符2处添加了一个副标题。
# Create the summary graph graph_slide_layout = prs.slide_layouts[8] slide = prs.slides.add_slide(graph_slide_layout) title = slide.shapes.title title.text = "Sales by account" placeholder = slide.placeholders[1] pic = placeholder.insert_picture(chart) subtitle = slide.placeholders[2] subtitle.text = "Results consistent with last quarter" 这是我们的杰作:
对于演示文稿的最后部分,我们将为创建一个销售绩效表。
这是效果截图:
在PowerPoint中创建表是一个好消息,也有一个坏消息。好消息是有一个API可以创建一个。坏消息是您无法使用内置API轻松将pandas DataFrame转换为表格。但是,非常幸运,有人已经为我们完成了所有艰苦的工作并创建了。 这段优秀的代码采用DataFrame并将其转换为PowerPoint兼容表。我冒昧地将一部分内容包含在我的剧本中。原始版本具有更多我没有使用的功能,因此我建议您查看回购并在自己的代码中使用它。
# a slide for each
for in .index.(0).():
slide = prs..(prs.[2])
title = slide..title
title.text = " for {}".()
top = (1.5)
left = (0.25)
width = (9.25)
= (5.0)
# the pivot table by the index
# a table on the slide
(slide, .xs(, level=0).(),
left, top, width, )
prs.save()
该代码将每个业绩从pivot表中取出,并构建一个包含摘要数据的简单。然后使用 将转换为兼容表。
完整的代码看起来像这样:
.py -.pptx sales-.xlsx .pptx
结论
阅读本文后,如果下次需要用中创建一堆报告时,这是一种让你免于996的好办法!赞赏请评论或转发powerpoint怎么制作ppt,有更好建议请留言,我们会持续优化这篇文章。
感谢你支持pptjcw.com网,我们将努力持续给你带路更多优秀实用教程!
上一篇:ppt 如何制作:制作PPT的7条黄金法则 下一篇:ppt背景颜色怎么设置(ppt背景图片怎么设置)
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。