iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python读取Excel数据实现批量生成PPT
  • 602
分享到

Python读取Excel数据实现批量生成PPT

2024-04-02 19:04:59 602人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录背景需求准备PPT数据PPT模板实战导入相关模块读取电影数据读取PPT模板插入数据背景 大家好,我是J哥。 我们常常面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而

背景

大家好,我是J哥。

我们常常面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而python在办公自动化方面具有天然优势,分分钟解决你的办公需求,提前下班不是梦。

需求

前几天我发表了一篇办公自动化文章Python读取excel数据并批量生成合同,获得许多小伙伴的认可和喜欢。其中有一位粉丝提议,能否出一篇PPT自动化的教程,通过读取Excel数据批量生成幻灯片。于是,我以豆瓣电影数据为例进行了PPT自动化制作,先看看最终效果:

图片

准备

PPT数据

我们首先需要准备填充PPT的数据,我这里用的是豆瓣电影数据,共有25条电影信息,包含title,director,date,country,types共5个字段,存储方式为Excel。数据预览如下:

图片

另外,由于PPT还需要批量插入图片,因此我这里也准备了25张电影海报图片,存放在文件夹movie_pic中。

图片

PPT模板

我们首先需要新建一个PPT模板,这个操作比较简单,直接进入到PPT母版视图,然后选择模板中第一张幻灯片的布局,依次插入电影名称、图片、类型、主演和导演、年份和国家6个占位符,其中除了图片其他都是内容占位符。这里一定要注意插入的顺序,后面代码也是根据占位符顺序来进行内容填充。为了美化PPT,我们可以个性化添加LOGo,背景图片,设置字体颜色大小等等。

实战

导入相关模块

# 读取图片文件
import os
# 读取Excel数据
import pandas as pd
# 操作PPT
from pptx import Presentation

读取电影数据

pandas读取excel数据,并将数据转为字典格式。

#读取电影数据
df = pd.read_excel(r".\ppt素材\top250.xlsx")
data = df.to_dict('records')
print(data)

读取PPT模板插入数据

Presentation()方法读取PPT模板,然后遍历所有电影数据(25个字典),选择母版样式中的第一张幻灯片即layout[0],接着遍历幻灯片中的所有占位符,这里用到enumerate()获取站位符的序号。将每个字典中的值插入到对应的占位符中,最后用save()方法保存新生成的PPT。

# 读取母版文件构建PPT的对象
my_ppt = Presentation(r".\ppt素材\ppt模板.pptx")
# 获取母版所有幻灯片布局
layout = my_ppt.slide_layouts
# 遍历所有电影数据
for x in data:
    #print(x)
    #选择模板中第一个幻灯片的布局并创建新幻灯片
    slide = my_ppt.slides.add_slide(layout[0])
    #当前幻灯片中所有的占位符
    placeholders = slide.shapes.placeholders
    for i,pl in enumerate(placeholders):
        if i == 0:
            pl.text = x["title"]
        elif i == 2:
            pl.text = x["types"]
        elif i == 3:
            pl.text = x["director"]
        elif i == 4:
            pl.text = str(x["date"])
        elif i == 5:
            pl.text = x["country"]
my_ppt.save("result.pptx")

由于图片是单独存放在文件夹movie_pic中,我们需要os.path.join()方法拼接每张图片的完整路径,然后用insert_picture()方法将图片插入到PPT中。

# 电影海报存储路径
images = r".\ppt素材\movie_pic"

# 遍历所有电影数据
for x in data:
    slide = my_ppt.slides.add_slide(layout[0])
    placeholders = slide.shapes.placeholders
    for i,pl in enumerate(placeholders):
        if i == 0:
            pl.text = x["title"]
        elif i == 1:
            img_path = os.path.join(images,f'{x["title"]}.jpg')
            print(img_path)
            pl.insert_picture(img_path)

以上就是Python读取Excel数据实现批量生成PPT的详细内容,更多关于Python生成PPT的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python读取Excel数据实现批量生成PPT

本文链接: https://www.lsjlt.com/news/118463.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python读取Excel数据实现批量生成PPT
    目录背景需求准备PPT数据PPT模板实战导入相关模块读取电影数据读取PPT模板插入数据背景 大家好,我是J哥。 我们常常面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而...
    99+
    2024-04-02
  • Python读取Excel数据实现批量生成合同
    目录一、背景二、准备三、实战1.安装相关库2.读取合同数据3.批量合同生成大家好,我是J哥。 在我们的工作中,面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而Pytho...
    99+
    2024-04-02
  • 怎么用Python读取Excel数据实现批量生成合同
    这篇文章主要介绍“怎么用Python读取Excel数据实现批量生成合同”,在日常操作中,相信很多人在怎么用Python读取Excel数据实现批量生成合同问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Py...
    99+
    2023-06-30
  • python 读取excel 生成jso
    # _*_ coding: utf-8import xlrd,sysimport pickleimport jsondata=xlrd.open_workbook("d:/test/6.xlsx")##读取工作表,方法可以按顺序索引找,也可...
    99+
    2023-01-31
    python excel jso
  • Redis批量生成数据的实现
    目录Redis批量生成数据Redis自带Debug方法Shell脚本Redis批量生成数据 从研究Redis开始,一直会有一些Redis键值数量或者键值大小的场景要求,显然我们不可能...
    99+
    2024-04-02
  • 如何用 Python 批量循环读取 Excel ?
    在使用 Python 批量处理 Excel 时经常需要批量读取数据,常见的方式是结合glob模块,可以实现将当前文件夹下的所有csv批量读取,并且合并到一个大的DataFrame中 df_list = []for file in glob...
    99+
    2023-09-06
    python excel 开发语言
  • python读取json数据还原表格批量转换成html
    目录一、实操1.首先创建一个新的文档2.添加文本二、word转成html1.使用pydocx转换2.使用win32模块背景: 由于需要对ocr识别系统的表格识别结果做验证,通过返回的...
    99+
    2024-04-02
  • python用faker库批量生成假数据
    目录楔子faker使用方法基本使用地理信息类基础信息类计算机基础、Internet信息类网络基础信息类浏览器信息类数字类文本、加密类时间信息类小结楔子 我们平时在做测试的时候,经常...
    99+
    2024-04-02
  • pandas读取Excel批量转换时间戳怎么实现
    这篇文章主要介绍“pandas读取Excel批量转换时间戳怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pandas读取Excel批量转换时间戳怎么实现”文章能帮助大家解决问题。一、安装pi...
    99+
    2023-07-05
  • Python怎么实现Excel数据读取和写入
    这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce...
    99+
    2023-06-30
  • Python读取Excel中的数据
     1、用xlrd包读取excel数据 import xlrddef read_excel(): # 打开文件,xlrd.open_workbook(),函数中参数为文件路径,分为相对路径和绝对路径 workBook = xlrd...
    99+
    2023-09-12
    excel python
  • python怎么读取excel数据
    在Python中读取Excel数据通常使用的是pandas库。可以通过以下步骤来读取Excel数据: 首先需要安装pandas库,...
    99+
    2024-04-02
  • python 读取excel中的数据
      应为工作的原因有所接触python,学习过程中找了点有用的东东,分享一下   使用xlrd包,它可以运行在所有的平台上。 Windows下载链接: http://download.csdn.net/detail/qianminming...
    99+
    2023-01-31
    数据 python excel
  • Python实现读取大量Excel文件并跨文件批量计算平均值
    本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法。 首先,让我们来看一下具体需求:目前有一个文件夹,其中存放了大量Excel文件;文件名称是每...
    99+
    2023-02-02
    Python读取Excel Python计算平均值 Python Excel 平均值
  • python怎么读取excel的数据
    如何在 python 中读取 excel 数据?通过使用 pandas 库中的 read_excel() 函数,您可以轻松地读取 excel 数据:导入 pandas 库:import ...
    99+
    2024-04-02
  • 基于JavaSSM实现Excel数据批量导入
    目录导入Maven依赖Mapper及映射文件测试导入Maven依赖 <dependency> <groupId>com.alibaba</grou...
    99+
    2024-04-02
  • python读取excel表格的数据
    1.在Windows命令行中安装第三方模块xlrd,先切到python安装目录(Python34),然后切到Scripts,然后输入命令easy_install xlrd按回车进行安装安装完成2.新建一个excel表,然后保存,造数据3.编...
    99+
    2023-01-31
    表格 数据 python
  • 怎么使用Python根据原始Excel表格批量生成目标Excel表格
    本文小编为大家详细介绍“怎么使用Python根据原始Excel表格批量生成目标Excel表格”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python根据原始Excel表格批量生成目标Excel表格”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-06
  • 怎么通过Python实现批量数据提取
    这篇文章主要介绍“怎么通过Python实现批量数据提取”,在日常操作中,相信很多人在怎么通过Python实现批量数据提取问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么通过Python实现批量数据提取”的疑...
    99+
    2023-07-05
  • 详解Python如何实现Excel数据读取和写入
    目录1. 功能分析2.系统开发环境3.安装依赖库4. 主函数设计5.模块设计1. 功能分析 1.加载文件夹内所有的Excel数据; 2.生产贡献度分析图表(以柱状图显示表格数据); ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作