python自动化办公——读取PPT写入word表格

news2024/9/20 22:36:07

Python自动化办公——读取PPT内容写入word表格

文章目录

  • Python自动化办公——读取PPT内容写入word表格
    • 一、需求分析
    • 二、导入依赖
    • 三、代码
    • 四、结果及总结

一、需求分析

📖由于我们知识图谱课程需要将课堂小组汇报的PPT总结成word文档,而我觉得一页一页复制PPT中的内容比较麻烦,所以直接安排:读PPT写word

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2tB8MG4b-1687446502476)(D:\文件\知识图谱\streamlit_project\PYTHON自动化办公读PPT.png)]

二、导入依赖

🚗需要操作PPT幻灯片和word文档,所以需要导入docx 和pptx两个包

pip install pptx 
pip install docx 

这里我的docx使用的是0.2.4版本

pptx使用的是0.6.21版本供参考

三、代码

引入os、pptx和docx

import os
from pptx import Presentation
from docx import Document
from docx.shared import Inches

设置PPT文件路径和Word文件路径

ppt_file_path = 'streamlit.pptx'
word_file_path = '问答系统.docx'

创建文档对象

# 创建PPT文档对象
prs = Presentation(ppt_file_path)

# 创建Word文档对象
doc = Document()

在Word文档中添加表格

table = doc.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Slide'
hdr_cells[1].text = 'Text'

读取PPT中的每个幻灯片

for i, slide in enumerate(prs.slides):

    # 获取幻灯片中的所有文本内容
    text = ''
    for shape in slide.shapes:
        if not shape.has_text_frame:
            continue
        for paragraph in shape.text_frame.paragraphs:
            for run in paragraph.runs:
                text += run.text

    # 将幻灯片和文本内容写入Word表格中
    row_cells = table.add_row().cells
    row_cells[0].text = f'Slide {i + 1}'
    row_cells[1].text = text

最后保存word

# 将Word文档保存到指定位置
doc.save(word_file_path)

完整代码如下:

import os
from pptx import Presentation
from docx import Document
from docx.shared import Inches

# 设置PPT文件路径和Word文件路径
ppt_file_path = 'streamlit.pptx'
word_file_path = '问答系统.docx'

# 创建PPT文档对象
prs = Presentation(ppt_file_path)

# 创建Word文档对象
doc = Document()

# 在Word文档中添加表格
table = doc.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Slide'
hdr_cells[1].text = 'Text'

# 读取PPT中的每个幻灯片
for i, slide in enumerate(prs.slides):

    # 获取幻灯片中的所有文本内容
    text = ''
    for shape in slide.shapes:
        if not shape.has_text_frame:
            continue
        for paragraph in shape.text_frame.paragraphs:
            for run in paragraph.runs:
                text += run.text

    # 将幻灯片和文本内容写入Word表格中
    row_cells = table.add_row().cells
    row_cells[0].text = f'Slide {i + 1}'
    row_cells[1].text = text

# 将Word文档保存到指定位置
doc.save(word_file_path)

四、结果及总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iGty8FQr-1687446502477)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230622230637873.png)]

结果如上图所示,将PPT中的内容提取了出来并写入了word表格。

也可以根据定制化需求自由编写代码,来实现书写的格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/675421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10安装nginx的配置和使用方法(图文)

window10系统安装nginx服务,提供网页方面的服务。下面为详细图文安装配置教程。 1)下载nginx软件 官方下载地址:http://nginx.org/en/download.html 2)解压缩软件 unzip nginx-1.20.1.zip 或者 使用解压缩软件,下…

视频与AI,与进程交互(二) pytorch 极简训练自己的数据集并识别

目标学习任务 检测出已经分割出的图像的分类 2 使用pytorch pytorch 非常简单就可以做到训练和加载 2.1 准备数据 如上图所示,用来训练的文件放在了train中,验证的文件放在val中,train.txt 和 val.txt 分别放文件名称和分类类别&#xff…

Android之 弹框总结

一 简介 1.1 弹框即浮与页面之上的窗口,如键盘弹框,吐司弹框,确认弹框,下拉选择框,应用悬浮框等 1.2 弹框控件也很多,比如常用的Spinner,Dialog,Toast,PopWindow等&…

小主机折腾记14

1.m72e主机,3240t-2390t-3470t测试; 2390t官方参数 在m72e上 全核3.08Ghz 单核3.28-3.31Ghz 核显2帧 评分 3470t官方参数 在m72e上 全核睿频3.28 单核最高3.44 核显1.2帧???还不如那啥HD2000 最后评分 进入…

chatgpt赋能python:Python求累加的方法及其应用

Python求累加的方法及其应用 在Python编程中,经常需要对一系列数字进行求和或累加的操作。那么在Python中,我们可以通过哪些方法来实现这个功能呢?本文将为大家介绍Python求累加的方法及其应用。 1. Python中的for循环 首先,我…

05-事件循环

事件循环 以下知识点都涉及到事件循环 计时器,promise,ajax,node 明白此知识点,是前端的分水岭,可以提高效率,js中奇怪的东西都可以得到解决,整个过程是根据W3C和谷歌源码进行 浏览器的进程…

一文理解cast转换

目录 写在前边 1. what?又报错: 2. 靠,难道是这样? 3. 小试牛刀 4. 实际中的“坑” 写在后边 写在前边 关于$cast转换的结论无外乎以下四条: 如果将子类句柄复制给父类句柄,可以实现父类句柄的向下转换…

翻筋斗觅食策略改进灰狼算法

目录 一、动态扰动因子策略 二、翻筋斗觅食策略 三、改进灰狼算法收敛曲线图 灰狼优化算法(grey wolf optimization,GWO)存在收敛的不合理性等缺陷,目前对GWO算法的收敛性改进方式较少,除此之外,当GWO迭代至后期,所有灰狼个体…

企业版:Select.PDF Library for .NET

HTML 到 PDF API SelectPdf提供了一个REST API,可用于通过我们的专用云服务将html转换为任何语言的pdf。 另存为 PDF 链接 以非常简单的方式将“转换为PDF”功能添加到您的网站或博客。只需添加一个指向您的网页的链接,您就完成了。 适用于 .NET 的 PD…

Redis 通用命令

通用命令介绍 Redis 通用命令是一些 Redis 下可以作用在常用数据结构上的常用命令和一些基础的命令,比如删除键、对键进行改名、判断键是否存在等。简单说,就是 keys 分类的命令,如下图。 上图中圈中的部分,就是所谓的通用的命令…

chatgpt赋能python:Python对于SEO的重要性:浏览网页的技术分析

Python对于SEO的重要性:浏览网页的技术分析 越来越多的网站需要搜索引擎优化(SEO),以便他们的网站上的内容能够被更多人浏览与访问。这就要求我们使用一些工具和技术,例如Python,来帮助我们分析网页的技术…

通过调整图像hue值并结合ImageEnhance库以实现色调增强

前言 PIL库中的ImageEnhance类可用于图像增强,可以调节图像的亮度、对比度、色度和锐度。 通过RGB到HSV的变换加调整可以对图像的色调进行调整。 两种方法结合可以达到更大程度的图像色调增强。 调整hue值 __author__ TracelessLe __website__ https://blog…

linux 下查看 USB 设备

文章目录 前言目录内容详解usb11-0:1.01-1.1:1.0 结构图设备信息bDeviceClassversionbusnum & devnumdevbMaxPoweridVendor & idProductproductmanufacturerbcdDevicespeedueventbmAttributesdrivers_autoprobe 前言 在 sysfs 文件系统下,查看 USB 设备&am…

PaddleOCR #使用PaddleOCR进行光学字符识别(PP-OCR文本检测识别)

引言: PaddleOCR 是一个 OCR 框架或工具包,它提供多语言实用的 OCR 工具,帮助用户在几行代码中应用和训练不同的模型。PaddleOCR 提供了一系列高质量的预训练模型。这包含三种类型的模型,使 OCR 高度准确并接近商业产品。它提供文…

【Unity 2D AABB碰撞检测】铸梦之路

作者介绍:铸梦xy。IT公司技术合伙人,IT高级讲师,资深Unity架构师,铸梦之路系列课程创始人。 目录1.AABB 碰撞介绍2.常用2D碰撞盒3.为什么要学习如何编写碰撞检测4.2D BOX & BOX 碰撞检测原理和代码5.2D BOX &Shpere 碰撞检…

Linux信号编程、signal函数范例详解( 4 ) -【Linux通信架构系列 】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the…

chatgpt赋能python:Python求1是什么?Python求1在SEO中的应用

Python求1是什么?Python求1在SEO中的应用 介绍Python求1 Python求1,也叫做1-bit计数器,是一种用来统计网页浏览量的技术。在Web开发中,我们需要记录网页的浏览次数,以便了解网站的流量和用户的使用情况。传统的做法是…

chatgpt赋能python:Python求绝对值:从初学者到高级工程师的必备知识

Python求绝对值:从初学者到高级工程师的必备知识 Python是一种有趣且功能强大的编程语言。它非常易于学习,同时又具有广泛的应用领域,比如Web开发、数据分析、机器学习和人工智能等。在Python的数学运算中,求绝对值是一个常见的需…

chatgpt赋能python:Python浮点型的两种表示方法

Python浮点型的两种表示方法 Python是一种解释型的动态语言,可以处理多种数据类型。其中,浮点型是其中一种数据类型,它包括十进制和科学计数法两种表示方法。 十进制表示法 十进制浮点数是Python的基本浮点类型,可以表示实数。…

2023 hnust 湖南科技大学 大数据技术与应用 期末考试 复习资料

前言 感谢:lqx(主要内容来源),hqh 有自己的理解和魔改 可以参考的资料 课后题答案我爬取的老师布置的学习通课后题往年资料csdn里面找到的:1、2老师ppt上课划重点录音 不提供pdf文件,方便修改&#xff0…