http://www.pptjcw.com

powerpoint怎么制作ppt:5分钟让你用Python作出最精美的Powerpoint

    下面的是PPT教程网给你带来的相关内容:

    powerpoint怎么制作ppt:5分钟让你用Python作出最精美的Powerpoint

    介绍

    在大多数商业环境中被广泛使用。本文向您展示如何使用通过使用自动创建幻灯片。

    powerpoint怎么制作ppt

    5分钟让你用作出最精美的

    在前面的文章里,我们讲解了很棒的库,用于创建和更新文件:。该API是非常有据可查所以它是很容易使用。唯一棘手的部分是理解文档结构,包括各种主布局和元素。一旦理解了基础知识,自动创建自己的幻灯片就相对简单了。本文将介绍使用读取和分析某些Excel数据,创建表格以及构建可嵌入文件的图形的示例。

    先来看看制作的精美PPT效果吧:

    powerpoint怎么制作ppt

    精美PPT效果1

    powerpoint怎么制作ppt

    精美PPT效果2

    powerpoint怎么制作ppt

    精美PPT效果3

    眼花缭乱了吧,让我们赶紧向下学习。

    文件基础知识

    -pptx可以创建空白的文件,但大多数人更愿意使用可以使用您自己的内容自定义的预定义模板。-pptx的API非常简单地支持这个过程,只要您了解模板的一些内容即可。

    在深入研究一些代码示例之前,您需要了解两个关键组件:幻灯片布局和占位符。在下面的例子中,有两个不同布局的示例以及模板的占位符,可以在其中填充内容。

    在下图中,可以看到我们正在使用布局0,并且幻灯片上的索引1处有一个占位符。

    powerpoint怎么制作ppt

    在此图像中,我们使用布局1来获得完全不同的外观。

    powerpoint怎么制作ppt

    模板让工作更轻松,创建了一个简单的独立脚本,该脚本采用模板并使用各种元素对其进行标记。

    这里是程序源码,不要着急,看起来很多,但是我们下面会一一讲解。

    powerpoint怎么制作ppt

    powerpoint怎么制作ppt

    .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)
    这是图像的缩略图:
    

    powerpoint怎么制作ppt

    已经完成了图表和数据透视表。现在,将基于给定的模板文件将该图表嵌入到新的文件中。

    在深入下面的讲述前,有几点需要注意。需要知道要使用的布局以及要填充内容的位置。在查看输出时,.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

    很酷吧?

    下一步是将图片嵌入幻灯片中。

    从之前的分析中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怎么制作ppt

    powerpoint怎么制作ppt

    对于演示文稿的最后部分,我们将为创建一个销售绩效表。

    这是效果截图:

    powerpoint怎么制作ppt

    在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背景图片怎么设置)

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。