作者 | 陈熹

来源  | 早起Python(ID:zaoqi-python)

大家好,又到了 Python 办公自动化系列。

在之前的自动化系列文章中,我们分别讲过如何使用 Python 将 Word 中表格信息批量提取至 Excel,也讲过如何将多个 Excel 表格汇总至 Word,今天继续讲解如何将文字从 PPT 中提取出来并写入 Word,主要将涉及如何使用 python-pptx 和 python-docx 交互操作 word 和 ppt 文件!

本文依旧来源于真实的办公自动化需求!

需求说明

有一份如图所示的 ppt,包含了 Python 的介绍。现在需要将 PPT 中的文字都提取出来并写入 Word 中,如下图:

涉及知识

代码实际上非常简单,基于 python-pptx 和 python-docx 两个模块即可,核心代码只有 6 行。但需要先熟悉 PPT 和 Word 两种文件的格式,可通过下面的图解对 Word 结构有个直观认识。

不考虑表格图片等情况,一个纯文字组成的 Word 文档由文档 document-段落 paragraph-文字块 run 三级结构组成。再看一下 ppt 结构组成,会较 Word 复杂许多。当然这也跟 PPT 的高度自定义拓展性有关。

简单来说,一个 PPT 文件为 presentation,基本的结构为展示文件 presentation-幻灯片页 slide-形状 shape 组成,形状就需要区分开,是包含文本的形状还是不包含文本的形状(纯图片等)。如果是包含文本的形状,则可以获取内部的文本框,一个文本框又可以看作是一个小的 word 文档,包含段落 paragraph-文字块 run。

有了以上的知识铺垫就可以写代码了。

Python实现

首先导入需要的模块:

from pptx import Presentation
from docx import Document****

需要注意的是,安装的时候是 python-docx 和 python-pptx,但实际运用都是 pptx 和 docx。两个模块的相似点如下:

  • 安装名和导入名不同。

  • 安装名为 python-新版本后缀名,导入名为新版本后缀名。

现在导入 pptx 文件,创建 Word 文件:

wordfile = Document()
# 给定ppt文件所在的路径
filepath = r'xxxxxxxx'
pptx = Presentation(filepath)

接着遍历 ppt,将文字写入 word。

# 遍历ppt文件的所有幻灯片页
for slide in pptx.slides:# 遍历幻灯片页的所有形状for shape in slide.shapes:# 判断形状是否含有文本框,如果含有则顺序运行代码if shape.has_text_frame:# 获取文本框  text_frame = shape.text_frame# 遍历文本框中的所有段落for paragraph in text_frame.paragraphs:# 将文本框中的段落文字写入word中wordfile.add_paragraph(paragraph.text

遍历 ppt 到段落就写入 Word,而非遍历到底直到文字块才写入,因为段落更符合阅读习惯,一般遍历到文字块是需要对特定的字段词块进行操作才进行,最后记得保存 Word 文件。

save_path = r'xxxxxxxx'
wordfile.save(save_path)

小结

这是经过一定改编的真实案例,可见 Python 自动化办公确实能够帮助我们解放自己的双手,不过在写自动化脚本之前也要掌握原理,明确思路再进行!如果对本文的代码和数据感兴趣可以在后台回复自动化获取,最后还是希望大家能够理解 Python 办公自动化的一个核心就是批量操作-解放双手,让复杂的工作自动化!

更多精彩推荐
☞互联网不相信学渣
☞漫画:设计模式之 “外观模式”
☞微软回应“断供中国”谣言;斗鱼回应与虎牙合并;Android 11 Beta 3 发布| 极客头条
☞图解Transformer,读完这篇就够了
☞三次改变世界、却被无情出局的程序员
☞地方政府争夺试点,互联网巨头参与测试,央行数字货币指日可待
点分享点点赞点在看

从PPT到Word,用Python轻松实现办公自动化相关推荐

  1. pdf转word用python轻松搞定_使用Python将PDF转化为word

    60行Python代码,实现多线程PDF转Word 分解任务 把PDF转为Word,分几步?两步,第一步读取PDF文件,第二步写入Word文件. 是的,就是这么简单,借助Python第三方包,可以轻松 ...

  2. 卧槽!Pdf转Word用Python轻松搞定!

    大家在日常的工作学习过程中,都会遇到一个问题就是将pdf中的文本内容转化为word的形式,也就是从只读变成可读写的形式.面对这种情况,大家大都采用网上的工具,但是网上的工具良莠不齐,很难达到我们的需求 ...

  3. python pdf转word 表格_太赞了!Pdf转Word,我用Python 轻松搞定表格和水印!

    原标题:太赞了!Pdf转Word,我用Python 轻松搞定表格和水印! 继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了 ...

  4. 女朋友让我深夜十二点催她睡觉,我用Python轻松搞定!

    事情是这样的:昨天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...

  5. 神器!用Python轻松搞定验证码!

    转自:大邓和他的Python 大家好,今天给大家介绍一款通用验证码识别OCR库的神器,项目地址:https://github.com/sml2h3/ddddocr.市场上常见的点选类验证码图片如下图所 ...

  6. PPT 、word 、pdf、 txt 格式转换

    一.把PPT转WORD形式的方法 1.利用"大纲"视图 打开PPT演示文稿,单击"大纲",在左侧"幻灯片/大纲"任务窗格的"大纲& ...

  7. 把PPT转WORD形式的方法及常用文件转换

    一.把 PPT 转 WORD 形式的方法 1 .利用 " 大纲 " 视图 打开 PPT 演示文稿,单击 " 大纲 " ,在左侧 " 幻灯片 / 大纲 ...

  8. 只需6行代码,将PPT转为Word!就可以解放我们的双手

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,,版权归原作者所有,如有问题请及时联系我们以作处理 作者:刘早起    来源:CSDN 本文链接:https://blog.csdn ...

  9. 玩转python轻松过二级 百度网盘,玩转Python轻松过二级

    商品详情 商品名称:玩转Python轻松过二级 商品编号:730249916 上架时间:2020-09-10 18:32:48 编辑推荐 null 内容简介 董付国编著的<玩转Python轻松过 ...

最新文章

  1. 机器学习(6)KNN算法(K-近邻算法)
  2. java返回有什么用,java中的return this什么时候用,返回的是类里面的方法类型,还是实例类?上面的代码什么意思...
  3. redis数据库和python的交互
  4. 记录一下水下相机标定
  5. C语言的指针、链表的原理和各类操作
  6. subpress installed post-installation script returned error exit status 1
  7. Python基础:函数的介绍及应用
  8. mysql中json_extract函数的使用?作用是什么?
  9. 对vuex在项目中的使用
  10. 用女朋友动态图做微信二维码,小白都会
  11. Open3d之点云上色
  12. 网上购物与开店赢家随身查
  13. 【2019南昌邀请赛赛网络赛K:】MORE XOR(嵌套异或----打表找规律)
  14. 创新声卡KX驱动调试设置及效果器使用详解
  15. 【玩转微信公众平台之中的一个】序章(纯粹扯淡)
  16. python画彩虹代码_python绘制彩虹图
  17. OpenGrok简单使用
  18. Kali忘记密码的重置方法
  19. java图片的在线预览_【Java】web实现图片在线预览
  20. Android工程师级别

热门文章

  1. 深度强化学习入门到精通--资料综述
  2. 浙大这个班诞生128家创业公司,总市值高达千亿!
  3. 【NeurIPS2019】Yoshua Bengio报告:深度学习系统从1代到2代
  4. Jeff Dean谈2020年机器学习趋势:多任务和多模式学习将成为突破口
  5. SAP WM初阶之移动类型设置里的Additional Data?
  6. AI 发展方向大争论:混合AI ?强化学习 ?将实际知识和常识整合到AI中 ?
  7. 美国科学家发现:AI跟人类一样,都是需要“睡觉”的
  8. 一口气发布1008种机器翻译模型,GitHub最火NLP项目大更新
  9. 快手刘霁:AI基础能力决定每个公司AI的迭代和落地效率丨MEET2020
  10. 2019年上半年收集到的人工智能机器学习方向干货文章