python批量操作ppt写入

最近在文字资料视频化的过程中,有一个制作ppt的需求,每一页写一个问题和一个答案,没有什么难度,但是呢,量比较大,传统方法就是把相应文字复制粘贴到指定位置,这是妥妥的重复性劳动,我就琢磨python能不能帮我实现文字的写入功能,版式什么的我自己来调整。最后实现了,把代码分享上来,看看能不能帮得到有需要的朋友,也能做个备份。

先看一下效果图吧!
在这里插入图片描述

from pptx import Presentation
import time
"""
首先创建一个pptx格式的文件,设计好母版,然后把文本信息对应占位符进行写入即可
"""
start = time.time()
pptx = Presentation('D:\\Pycharm\\python办公\\模板.pptx')
with open('模块五选择题.txt', 'r', encoding='utf-8') as file1:
    text = file1.read()
    data = []
    for c in text.split('\n'):
        slide = pptx.slides.add_slide(pptx.slide_layouts[1])
        slide.placeholders[0].text = c.split('$')[0]
        slide.placeholders[1].text = c.split('$')[1]
# slide.placeholders[2].text = '2'
with open('模块五简答题.txt', 'r', encoding='utf-8') as file2:
    text = file2.read()
    data = []
    for c in text.split('\n'):
        slide = pptx.slides.add_slide(pptx.slide_layouts[2])
        slide.placeholders[0].text = c.split('$')[0]
        slide.placeholders[1].text = c.split('$')[1]
pptx.save('D:\\Pycharm\\python办公\\new7.pptx')
end = time.time()
print('信息写入完成,耗时{:.2f}秒'.format(end-start))
# for shape in slide.placeholders:
#     shape.text = str(shape.placeholder_format.idx)

实现难度不大,就是获取版式的序号和文本框填入的内容,我这里用到的文档格式是txt的,然后问题与答案之间用分隔符‘$’隔开,末尾用换行符,看图。
在这里插入图片描述

最后把本文所用到的所有文件打包,拿到代码后可直接使用,稍微调试一下就能实现自己的功能了

效果视频

python自动操作ppt)[1]

蓝奏云传送门

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值