前提:我有一堆PPT文件:1.pptx、2.pptx、3.pptx......每个文件中都含有若干张幻灯片,这若干张幻灯片中都有一张含有某个关键词的一页,例如含有”月分析“,(我就是每个月要从每个分公司中提取他们的月分析)

需求:将这些含有关键词的PPTX文件,删除无关的页,只保留含有关键词的页,并替换关键词,防止混乱,最后将这些ppt全部合并。

奏乐,代码上:

import pptx
from pptx import Presentation
import os
import re
#import ALLdef replace_text(text_frame):#该函数实现的是文本替换功能for paragraph in text_frame.paragraphs:for run in paragraph.runs:for tt in TEXT_NEED_REPLACE:if tt[0] in run.text:run.text = run.text.replace(tt[0], tt[1])def process_ppt(filename_open, filename_save,Procices):prs = Presentation(filename_open)m=0;for slide in prs.slides:for shape in slide.shapes:if shape.has_text_frame:#判断Shape是否含有文本框text_frame = shape.text_framefor paragraph in text_frame.paragraphs:for run in paragraph.runs:ret = re.findall("关键字", run.text)if (ret != []):run.text = run.text.replace("关键字","替换的新的关键字"+Procices)x=m;#查询到的含有新技术新业务的页面,记录下index值。m+=1;#遍历的页面计数,每次增加一个,便于探测是那一页有关键词。slides = list(prs.slides._sldIdLst)for index in range(len(slides)):if(index!=x):prs.slides._sldIdLst.remove(slides[index])#凡是非含有的全部移除prs.save(filename_save)#保存
def del_slide(index):slides = list(prs.slides._sldIdLst)prs.slides._sldIdLst.remove(slides[index])# 遍历文件夹及其子文件夹中的文件,并存储在一个列表中# 输入文件夹路径、空文件列表[]# 返回 文件列表Filelist,包含文件名(完整路径)
def get_filelist(dir, Filelist):newDir = dirif os.path.isfile(dir):Filelist.append(dir)# # 若只是要返回文件文,使用这个# Filelist.append(os.path.basename(dir))elif os.path.isdir(dir):for s in os.listdir(dir):# 如果需要忽略某些文件夹,使用以下代码# if s == "xxx":# continuenewDir = os.path.join(dir, s)get_filelist(newDir, Filelist)return Filelistlist1 = get_filelist('原始文件夹路径', [])#原始文件路径
print(len(list1))
for e in list1:dir, file = os.path.split(e)name=file.split('.')process_ppt(e,'保存的文件架路径'+file,name[0])#保存的路径

此时保存的文件架路径中出现了很多只含有关键字页的pptx文件,用插件即可合并,插件可以见这位知乎大佬的:https://www.zhihu.com/question/68117952

到此为止,很奇葩的需求,但是可以节省很多时间。

参考了这位大佬的文章,表示感谢:

https://blog.csdn.net/fei347795790/article/details/106996817/

如何用Python批量提取PPT中含有某关键词的一页,并将这些PPT合并相关推荐

  1. python 批量增加文件前缀_用python批量提取视频中的音频文件

    安装MoviePy pip3 install MoviePy 安装成功后需要打开MoviePy所在的文件夹 C:PythonLibsite-packagesmoviepy 打开config_defau ...

  2. python给视频添加声音_用python批量提取视频中的音频文件

    安装MoviePypip3 install MoviePy 安装成功后需要打开MoviePy所在的文件夹C:\Python\Lib\site-packages\moviepy 打开config_def ...

  3. python 如何批量提取文件中的字符_如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  4. 如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  5. Python 批量提取 Word 中表格内容,一键写入 Excel

    关注公众号:[小张Python],为你准备了 50+ 本Python 精品电子书籍 与 50G + 优质视频学习资料,后台回复关键字:1024 即可获取:如果对博文内容有什么疑问,后台添加作者[个人微 ...

  6. python提取pdf文件内容_如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  7. Python 批量提取Excel中的图片,图片文件名按指定列存储

    openpyxl 以及 openpyxl_image_loader,conda或者pip无法安装的话,官网下载whl,然后pip安装本地包 [注意]:图片必须在单元格内,不能压过单元格边界 from ...

  8. 使用python批量提取txt中的数据并写入excel

    本人是编程小白,同时也是一名准毕业研究生,在处理众多数据时总是要花很多时间来做重复的工作以提取出需要的数据,让我十分头疼.我无法忍受这种低效的工作,于是便开始尝试使用Python进行编程来批量处理数据 ...

  9. 用 Python 批量提取 PDF 的图片,并存储到指定文件夹

    今天给大家分享如何用 Python 批量提取 PDF 的图片,并存储到指定文件夹. 一.实现效果图 二.基于 fitz 库和正则搜索提取图片 fitz 库是 pymupdf 中的一个模块,用它来提取 ...

最新文章

  1. RabbitMQ(一):Hello World程序
  2. MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
  3. 【图像处理】——图像的灰度化处理(Python实现三种方法——最大值法、平均值法、加权均值法、gamma校正)
  4. python基础-深浅拷贝
  5. (转)Geoserver基础配图研究
  6. 数据结构与算法的时间空间复杂度
  7. 字节软件测试岗二面:APP测试问题被虐哭了,直到看到这些知识点
  8. SENT协议学习总结
  9. OneNote解决字体不同的问题【完美解决】
  10. 利用VCF文件构建系统发育树
  11. linux 实现离线迅雷,Linux下使用wget/aria2进行离线迅雷批量下载
  12. error in ./node_modules/swagger-ui-react/swagger-ui.js
  13. Jeecg 任意文件下载漏洞
  14. ios 凭据验证_iOS应用SSL .p12身份验证 – 证书错误(-9825)
  15. 常见的HTTP状态码以及代表的意义
  16. 在VS Code中开启gdb的pretty-printer功能
  17. for循环和嵌套循环
  18. orcale报错 无效数字
  19. Java每日一练(4)
  20. php如何实现单点登录jira,JIRA 集成 Crowd 实现单点登录

热门文章

  1. 向日葵无法linux桌面壁纸,Ubuntu 向日葵被远控无法显示图形化界面的解决方案
  2. 如何通过Java导出带格式的 Excel 数据到 Word 表格
  3. 039.简单的文本编辑器
  4. HUD1873看病要排队
  5. 橙色云构建研发协同生态链,助力企业降本增效
  6. Python爬取豆瓣高分图书TOP100存入Excel
  7. IPv6 内网穿透(一)
  8. 桥接模式、NAT模式、仅主机模式
  9. 是非人生 — 一个菜鸟程序员的5年职场路 第1节
  10. OSPF状态切换以及包内容的交互,以及如何根据LSDB还原单区域拓扑