python实现抓取ppt中的所有文字

本文介绍了一个Python脚本,使用pptx和docx库从PowerPoint演示文稿中提取文本,将其保存为文本文件和Word文档,确保了字符编码的正确处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段代码的作用是先从PPT文件中提取出所有的文本字符,然后以文本文件和Word文件的形式保存。具体实现步骤如下:

首先,导入 pptx 模块,读取包含PPT数据的文件,并用 Presentation() 函数读取其中的所有幻灯片。

然后,遍历每一页幻灯片,并对每个形状进行判断,看是否包含文本。如果包含,则按照段落提取出所有文本,存入列表中。

接着,创建一个空的文本文件,将列表中的所有字符串逐行写入文本文件,并通过 close() 函数关闭文件。

最后,创建一个新的Word文档对象,遍历 data 列表中的所有字符串,将它们分别添加到文档对象中的新段落中,最后通过 save() 函数保存 Word 文件。

需要注意的是,在使用 open() 函数打开文本文件时,需要指定字符编码。docx 模块可以自动处理字符编码问题,因此无需再设置。

#提取所有文本字符
from pptx import Presentation
data = []
prs = Presentation('data\制造业必修课.pptx')
for slide in prs.slides: #遍历每页PPT
    for shape in slide.shapes: #遍历PPT中的每个形状
        if shape.has_text_frame: #判断该是否包含文本,保证有文本才提取
            for paragraph in shape.text_frame.paragraphs: #按文本框中的段落提取
                data.append(paragraph.text) #提取一个段落的文本,就存到列表data中


#写入文本文件
TxtFile = open('data\制造业必修课.txt', 'w',encoding='utf-8')
for i in data:
    TxtFile.write(i+'\n') #写入并换行,以保证正确分段
TxtFile.close() #保存


#写入word文件
import docx
doc=docx.Document()#创建一个word文件对象
for i in data:
    doc.add_paragraph(i) #增加一个段落,并将列表中的一个字符串写入word文件
doc.save('data\制造业必修课.docx')#保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忧伤的玩不起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值