python批量读取excel写入数据库,python批量读取excel文件
我们经常面临大量重复性的工作,手工处理耗时耗力且容易出错。Python在办公自动化方面有着天然的优势。本文将读取Excel数据,实现批量生成PPT,可供参考。
00-1010后台要求:准备PPT资料,PPT模板,导入相关模块,读取电影资料,读取PPT模板,插入资料。
目录
大家好,我是j哥。
我们经常面临大量重复性的工作,手工处理耗时耗力且容易出错。Python在办公自动化方面有着天然的优势。分分钟解决你的办公需求,提前下班,不是梦。
背景
前几天发表了一篇办公自动化文章Python读取Excel数据批量生成合同,得到了很多朋友的认可和喜欢。其中一位粉丝建议是否可以开发一个PPT自动化教程,通过读取Excel数据批量生成幻灯片。于是,我以豆瓣电影数据为例,做PPT自动化。我们先来看看最后的效果:
需求
准备
首先,我们需要准备资料填PPT。我这里用的是豆瓣电影数据,有25条电影信息,包括片名、导演、日期、国家、类型5个字段,存储方式是Excel。数据预览如下:
另外,由于PPT还需要批量插入图片,所以我这里还准备了25张电影海报图片,存放在文件夹movie_pic中。
PPT数据
首先我们需要创建一个新的PPT模板。这个操作比较简单。直接进入PPT母版视图,然后在模板中选择第一张幻灯片的版式,依次插入电影名称、画面、流派、主演和导演、年份和国家六个占位符,除了画面外都是内容占位符。这里一定要注意插入的顺序,下面的代码也是按照占位符顺序填充内容的。为了美化PPT,可以添加LOGO、背景图片、设置字体颜色大小等等。
PPT模板
实战
#读取图片文件
导入操作系统
#读取Excel数据
进口熊猫作为pd
#运营PPT
从pptx导入演示文稿
导入相关模块
用熊猫读取excel数据,将数据转换成字典格式。
#读取电影数据
Df=pd.read_excel(r 。\ppt material \top250.xlsx )
data=df.to_dict(记录)
打印(数据)
读取电影数据
使用Presentation()方法读取PPT模板,然后遍历所有的电影数据(25个字典),选择母版样式中的第一张幻灯片,即layout[0],然后遍历幻灯片中的所有占位符。这里,enumerate()用于获取站符号的序号。将每个字典中的值插入到对应的占位符中,最后用save()方法保存新生成的PPT。
#读取主文件以构建PPT对象
My_ppt=演示文稿(r 。\ PPT material \ PPT template . pptx’)
#获取母版的所有幻灯片布局
layout=my_ppt.slide_layouts
#遍历所有电影数据
对于数据:中的x
#打印(x)
#选择模板中第一张幻灯片的布局,并创建一张新幻灯片
slide=my_ppt.slides.add_slide(布局[0])
#当前幻灯片中的所有占位符
占位符=slide.shapes .占位符
对于I,pl in枚举(占位符):
如果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[国家]
my_ppt.save(result.pptx )
由于图片是分开存放在文件夹movie_pic中的,我们需要用os.path.join()方法拼接每张图片的完整路径,然后用insert_picture()方法将图片插入到PPT中。
#电影海报存储路径
Images=r 。\ppt素材\movie_pic
#遍历所有电影数据
对于数据:中的x
slide=my_ppt.slides.add_slide(布局[0])
占位符=slide.shapes .占位符
对于I,pl in枚举(占位符):
如果i==0:
pl.text=x[title]
elif i==1:
img_path=os.path.join(images,f{x[title]}。jpg’)
打印(img_path)
插入图片(img_path)
以上是Python读取Excel数据实现批量生成PPT的详细内容。更多关于Python生成PPT的信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。