输出文本_如何从pptx中拿到文本?手把手教你批量输出文本

生成示例文件

编写核心代码

扩展功能,强化工具

学习python-pptx也有几天了,实在忍不住想要做个实例了,于是今天做了一个用利python-pptx来从pptx中提取所有文本的功能(不包含表格中的文本),具体有以下功能(软件的设计过程已录制好视频并发布在平台,大家可以关注我后在主页看到,也可以直接点击上面的链接看到):

1、从指定的文件夹中,对所有pptx(注意不是ppt,因为两者文档格式不同)进行文本提取。

2、提取出来的文本,以pptx的文件名加txt作为后缀进行保存,保存位置为程序中设定的targetPath,如果该目录不存在的话,则会先创建一个。

eca9642f0e732a38cdb5cc4b0784869e.png
# coding=gbkimport osimport refrom pptx import Presentationclass ExtractPPTXText():    def __init__(self,params):        self.errFlag = False        self.msg = ""        self.sourcePath = params["sourcePath"]        if not os.path.exists(self.sourcePath):            self.errFlag = True            self.msg = "源文件夹不存在!"        self.targetPath = params["targetPath"]        if not os.path.exists(self.targetPath):            os.makedirs(self.targetPath)        self.run()    def run(self):        if self.errFlag:            print(self.msg)            return        for file in os.listdir(self.sourcePath):            if not file[-4:] == "pptx":                continue            if re.findall("^~",file):                continue            # 将文件传入getText,并返回文本列表            para_list = self.getText(os.path.join(self.sourcePath,file))            # 提取文件名与扩展名            fileName,expandName = os.path.splitext(file)            # 组成新的文件名            newFileName = os.path.join(self.targetPath,fileName + ".txt")            # 将文本列表保存到txt文件            self.saveText(para_list,newFileName)    # 从pptx中返回文本列表    def getText(self,file):        para_list = []        prs = Presentation("test.pptx")        for slide in prs.slides:            for shape in slide.shapes:                for para in shape.text_frame.paragraphs:                    if len(para.text.strip()) == 0:                        continue                    else:                        para_list.append(para.text.strip())        return para_list    # 保存文本    def saveText(self,para_list,file):        with open(file,"w",encoding="gbk") as txt_file:            txt_file.write("".join(para_list))        print("{} 保存完成!".format(file))    def __str__(self):        return self.msgif __name__ == '__main__':    params = {        "sourcePath":r"K:伍德春原创视频自动化2020-11-10",    # 要进行提取的pptx的所在目录        "targetPath":r"K:伍德春原创视频自动化2020-11-10xt",    # 提取后的txt文件要保存到的目录    }    newobj = ExtractPPTXText(params)

头条号中可以插入代码块这功能很好,可以较好的展现代码,点赞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值