第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片
off999 2024-11-11 12:40 15 浏览 0 评论
人工智能时代,最需要学习的编程语言是:python 。笔者是个 python 小白,昨天花了两个小时,第一次成功运行起来 python 项目 。
项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。
1 安装 python 环境
首先打开终端,打开后输入 python3 。确定电脑上是否已安装 python3,如果输入 python 是查看 mac 上的自带版本。
命令:python3【直接回车】
出现下面是页面,表示已经安装python3 【退出时可输入:exit()然后点回车】
若没有安装,安装 python3 如下两种方式:
- 第一种方法 brew 安装 python3 :brew install python3
- 第二种方法 官网 Python Releases for macOS ,根据自己的需求下载自己需要的版本下载 。
2 项目 powerpoint-extractor
通过 git 命令 clone 该项目 :
git clone git@github.com:2TallTyler/powerpoint-extractor.git
因为项目依赖 python-pptx 组件,通过清华的镜像执行如下的命令:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple python-pptx
执行完成之后,可以通过 pip3 list 命令查看已安装包列表 :
3 PyCharm 配置
通过 PyCharm 打开该项目 :
上图,我们发现 python 解释器并没有配置好 ,py 脚本显示 import 包失败 。
点击添加 python 解释器按钮,勾选继承全局包,并确认好 python3 的执行目录是否正确,点击 OK 即可完成配置。
点开 extract.py ,核心代码非常容易理解:
for eachfile in glob.glob(self.input_dir + os.sep + "*.pptx"):
ppt = Presentation(eachfile)
print("* " + eachfile)
presentation_count += 1
self.cur_image_index = 1
name = self.generate_image_name_part(eachfile)
# 遍历每张幻灯片
for page, slide in enumerate(ppt.slides):
# 将幻灯片上的所有文本收集到一个字符串中,以换行符分隔
text = ''
for shape in slide.shapes:
if shape.has_text_frame and shape.text.strip():
text += os.linesep
text += shape.text
# 收集每张幻灯片中的图像
self.cur_slide_images = []
# 保存幻灯片中的图像
for shape in slide.shapes:
self.drill_for_images(shape, page + 1, name)
# 将页码、收集到的文本和演讲者备注作为新行写入CSV文件
image_list = ''
if len(self.cur_slide_images) > 0:
image_list = ','.join(self.cur_slide_images) # 将图像列表转换为逗号分隔的字符串
# 将信息写入CSV文件
writer.writerow([eachfile, page + 1, text, slide.notes_slide.notes_text_frame.text, image_list])
这段代码执行了以下操作:
- 对于每个 PowerPoint 文件,它加载演示文稿并逐一遍历每张幻灯片。
- 对于每张幻灯片,它收集文本和图像信息,并将其格式化为 CSV 文件的一行。
- CSV 文件的每一行包括文件名、页码、幻灯片文本、幻灯片的演讲者备注以及图像列表。
4 运行项目
将测试 ppt 拷贝到 input 目录,点击 run 。
当执行完成后,ppt 中有的图片拷贝到 images 目录,同时生成了一个 text.csv 。
当然,我们也可以通过如下的命令直接执行:
如果我的文章对你有所帮助,还请帮忙点赞、在看、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!
相关推荐
- win10一键重装win7(win10一键重装系统)
-
1、首先准备一个4GB以上可以正常使用的U盘。2、在一个可以正常使用的电脑上,下载老毛桃软件并安装。3、去网上下载所需的win7,win10选择自己所需要的系统,并下载下来。4、插入u盘并打开老毛桃...
- 联想软件商店官网(联想应用商店官网下载安装)
-
要设置联想电脑应用商店,首先需要打开商店应用并进行登录。之后可以根据个人需求浏览并下载商店中的应用,也可以通过搜索功能查找特定应用。在商店中还可以管理已下载的应用、更新应用以及查看应用评价和评论。此外...
- tp路由器设置登录网址(tplink路由器设置网址登录)
-
tplogin.cn是TPlink路由器界面的默认登陆入口地址。TPlink常见的登陆入口地址:192.168.1.1,192.168.0.1,tplogin.cn,192.168.0.254,192...
-
- qq邮箱码正确格式(qq邮箱格式怎么写正确)
-
1.每个人在注册QQ时都会有关联的一个邮箱,它的格式就是“QQ号码@qq.com”。2.用户可以免费开通自己的手机号码邮箱帐号。3.QQ邮箱还可以注册“……@foxmail.com”这样的商务型帐号。4.@qq.com邮箱可以有一个数字帐号...
-
2025-11-18 13:03 off999
- 移动硬盘做启动盘教程(移动硬盘如何制作系统启动盘)
-
1.在xp系统中安装矮人DOS。2.在xp系统中用PQ(windows版)将移动硬盘的第一个分区设为活动,并激活。(注:你将要在该分区写入引导信息)3.重启电脑,进入矮人DOS,选择支持usb驱动...
- 怎样打开cdr文件(.cdr用什么打开)
-
cdr是什么文件?cdr文件用什么打开?cdr文件是CorelDraw图像制作软件标准的输出格式,与photoshop(PS)图片设计软件类似都属于图片设计软件,需要打开cdr文件我们就需要先了解C...
- 微软拼音输入法好用吗(微软拼音输入法好用吗知乎)
-
CTRL(Control)组合键;Ctrl+Alt+A(截屏);Ctrl+A(All)全选;Ctrl+C(Copy)复制;Ctrl+V粘贴Ctrl+S保存,窗口...
- 怎么设置屏保密码(怎么设置屏保密码和锁定时间)
-
屏保密码设置的方法步骤1、鼠标左键单击桌面下的【开始】菜单键;点击【控制面板】;2、点击【外观和个性化】;然后点击【个性化】选项卡中的【更改屏幕保护程序】;3、选择一个自己喜欢的程序,勾选,然后再点击...
- 无法下载ie浏览器怎么办(ie浏览器显示无法下载)
-
如果您在使用IE浏览器时遇到无法下载的问题,以下是一些常见的解决办法:1.清除浏览器缓存:打开IE浏览器,依次点击工具(齿轮图标)->Internet选项->常规选项->...
- 笔记本w7可以升级w10吗(笔记本w7可以升级w10吗)
-
要将wln7升级到win10,需要先确保计算机配置符合win10的最低要求,包括处理器、内存、硬盘空间等。然后,可以下载win10的升级助手或镜像文件,在升级前备份重要数据,选择需要保留的文件和设置,...
-
- 如何卸载电脑浏览器软件(怎样卸载电脑浏览器)
-
如果我们发现我们从浏览器里面下载的东西删不了,这个时候,我们就可能是由于下载到了了一些病毒软件或者是病毒程序而导致的,如果说想要解决这个问题,方法的话也很简单,我们可以通过杀毒软件对其进行杀毒,然后再进行卸载,基本上就可以删除了。app卸载...
-
2025-11-18 09:51 off999
- 联想怎么看电脑配置和型号(联想怎么看电脑配置和型号笔记本)
-
笔记本看型号有推荐三种方法:第一种,点击你笔记本上的(开始),然后找到(运行)打开,在里面的输入框里输入(dxdiag)点击确定,你就可以看见笔记本型号,系统型号等笔记本信息。第二种,就是在你的电脑上...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
