办公室小姐姐的福利!用Python批量提取word文档中的表格和图片内容

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
点上方“菜鸟学Python”,选择“星标”
第491篇原创干货,第一时间送达

最近有许多小伙伴想要一些自动化办公的福利小程序,今天就满足大家的需求。日常的办公过程中,总少不了批量提取word文档中的内容,例如表格和图片。

前面菜鸟哥也为大家分享过从PDF文件中提取文字和图片的提取文案:

再见PDF提取收费!我用100行Python代码搞定!

肝了一夜,用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换)

今天菜鸟哥要为大家分享的福利是批量提取word中的表格和图片数据!将表格数据提取到excel表中,将图片保存到本地文件夹中。


01.word内容介绍

这里,我们先来介绍一下,我们需要批量处理的word文档中,表格和图片的格式。

在需要提取的word文档中,包含了许多的相同格式的表格。表格包含了姓名、年龄、性别、城市和工作这五项内容。针对于不同的表格结构形式,程序编写的内容也需要针对性的调整。


02.程序编写

从word文档中提取表格和图片,用到的是python-docx库。其安装方式为pip install python-docx

03.保存表格

首先,我们来看一下,如何提取单个word文档中的所有表格数据,并合并到同一个excel表中。部分程序如下图所示:

程序通过Document函数,打开word文档后,利用了三个for循环来读取表格数据。

  • 第一个for循环是针对于word文档中的每一个表格进行操作。

  • 第二个for循环是针对于每一个表格的每一行数据进行读取。

  • 第三个for循环则是针对于每一行数据中的每一列进行读取。

列表keys中保存的是列表的特征名称,也即keys = [姓名,年龄,性别, 城市, 工作]。列表values则存储的是所有的列表数据。

获取到表格的数据后,接下来是将keys和values中的数据写入到excel表格中去。

从表格的结构形式可以看出:列表values的长度 = 列表keys的长度 * 表格中存储的人数。

所以通过等间隔采样的方式,将keys和values的数据转换成适合pandas的数据格式,通过pandas将数据保存到本地。

04.保存图片

对于图片的提取,程序不需要根据图片进行改动,大家可以直接复制程序,然后进行应用。程序如下图所示:

程序读取了word文档中所有的Relationship对象,保存到dict_rel变量中,通过判断每一个对象中是否包含“image”字符来确定对象是否是图片。如果确定是图片类型,将图片保存到与word文档相同的根目录下。

05.批量处理

接下来,通过批量处理的方式来提取word文档中的表格和图片内容。程序如下图所示:

由于word文档存在doc格式的文件,因此,通过win32com库,将doc文件转换为docx文件进行保存。

在完成转换后,通过对于每一个docx文件,调用getPictures和getTables函数来提取图片和表格数据。提取结果如下图所示:

可以看到,在word文档的根目录下,对应着提取除了图片和excel的表格文件。

通过对于word文档和excel的展示,可以看到,word文档中的表格内容,被准确的提取到excel表格中进行保存。

06.总结

以上就是菜鸟哥为大家奉上的自动化办公小福利,大家可以获取源码后,来进行学习,日积月累,跬步千里。相信大家一定会有所收获。

大家如果有其他自动化办公的需求,欢迎在下方留言,菜鸟哥会进行整理,并推出解决方案~

end


你好,我是菜鸟哥,Python程序员,资深码农,努力做一个斜杠青年

日常输出一些投资的心得和感悟吗,目前有近170位同学:  菜鸟学投资,星球来了!,一起聊投资,赚钱!

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领廖雪峰全套资料!
python读取WORD表格中的文本及图片数据 现手头有几百个WORD文档,每个文档为针对某企业的安全隐患检查数据,包括隐患文字信息及图片。用PYTHON读取WORD表格中的文本及图片数据。 阅读详情

相关推荐

Python文档数据存储---Word数据写入读取

Word文档中一般存储文章、新闻报道小说这类文字内容较长的数据为主。 1、Word数据写入 Word写入数据的整体思路如下: 创建生成临时Word对象。 分别使用add_paragraph()add_heading()对Word对象添加标题正文内容。 如果设置正文内容的字体加粗斜体等,可以将正文内容p对象的属性runs[0].boldadd_run('XX'...

Welcome To Westworld 3695

python-docx顺序解析word中的表格图片、段落

近期在工作中需要解析word,然后上传到redmine,网上搜索了下相关解析的教程,有单独解析表格的、段落的、图片的,没有按顺序解析。仁兄的基础上增加了解析图片

GstGxf的博客 9273

Python批量复制Word表格内容

Python批量复制Word表格内容 方法一:提供准确的位置序号 方法二:循环获取每个单元格中的内容

利用python工具提取多个word中的图片表格

由于工作因素,经常要对多个文档内容进行查重,文字类可以借助查重工具辅助,但图片表格只能依靠鼠标滚轮还有笔者的打工眼。久而久之,眼睛废了,肩颈也吃不消了(-.-)。于是乎,就想用脚本批量导出,从而提高效率。

百里飞猴的博客 1471

批量复制提取Word中所有的表格ExcelPython办公自动化)

将一批Word文档(doc、docx中的表格批量复制,转换为Excel

hnZone 2993

python读取docx表格 图片_Python-docx 读写 Word 文档:插入图片表格,设置表格样式,章节,页眉页脚等...

Python-docx 模块读写 Word 文档基础(二):图片表格表格样式,章节设置,页眉页脚等前言:1、插入图片、设置大小:2、插入表格、设置格式:3、设置章节、页面设置等:4、设置页眉页脚结尾:【Python与Office】专栏前言:上一篇博客介绍了 python-docx 模块如何 创建 word 文档、设置段落格式、字体格式等 ,本篇博客将对在日常使用 word 文档的其他操作进行介...

weixin_39989941的博客 1543

python123可以复制粘贴吗_Python应用之可控顺序复制粘贴

1、应用场景:有大量源数据(保存在Excel表格中)需要逐个进行筛查(在第三方平台接口进行查询)。2、场景举例:由于学生无法上网,老师需要帮助上百名同学在第三方平台查询考试成绩。平台无法批量导入查询,只能逐个输入查询。3、常规操作步骤:从excel表格复制一个源数据,然后粘贴到第三方平台输入口,然后点击查询,获取查询结果。4、常规操作的问题:频繁切换窗口从excel单元格中复制数据比较繁琐,此动...

weixin_39707168的博客 533

Python】从Word文档提取表格的方法

如果我们有一个文件夹,里面有很多的Word文件,然而我们如果要将word里面的表格一个个提取出来做分析,可以参考这个方法

Meggie35的博客 6805

python的panda库读写文件

可能是因为中文储存的时候是gbk格式,utf-8还是识别不了一些编码,所以可以尝试用gbk,需要设置编码方式encoding='gbk'。csv文件是以逗号为分隔符的文件,读取参数与excel基本类似,文件为gbk格式的csv,若不设置encoding参数,会报错。header: 默认为True,False没有列索引,如需更改列名,则header = ["列1","列2","列3"]excel,csv,txt写入文件的方式基本类似,以pandas的to_xx()方式写入。

weixin_50853979的博客 3229

Python读取doc文件中的图片

最近需要搜集整理doc文件中的图片内容,由于数据量比较大,尝试使用Python进行内容提取。网上找了很多资料,利用Win32com组件应该可以实现,但是其中读取表格图片的方法比较复杂,弄了半天没搞出来。网上还有一个叫docx的库,其中的接口函数看着比较简单,但缺点是不能处理doc只能处理docx,并且也不能处理图片。好在docx格式本身也是一种压缩格式,可以通过解压缩的方式提取图片,最后把他们...

zhoudapeng01的专栏 6345

python-docx刨析之提取图片

python-docx刨析之提取图片 网上有很多教程是用 zipfile 来提取 docx 文件内的图片,这种方法很难准确的获取确定位置的图片。我分析了下源码,终于找到了方法。 函数代码如下 import docx from docx.document import Document from docx.text.paragraph import Paragraph from docx.image.image import Image from docx.parts.image import ImageP

JovenGeek的博客 9297

Python数据分析入门笔记2——pandas数据读取

快速入门pandas,认识pandas三大结构Series、DataFramePanel中的前两种,知道读取文件,并且按行或者按列有选择性地查找数据。

奥特曼打小白的专栏 7882

word试卷匹配转换为结构化表格

作者:小小明 Pandas数据处理专家,帮助一万用户解决数据处理难题。 需求 有一个下面这种形式的word表格: 希望能转换为下面这种格式的excel表格: 测试word文档读取 先测试一个word文档前1页的数据读取: from docx import Document doc = Document("编号02 质检员高级技师(一级)理论试卷.docx") for i, paragraph in enumerate(doc.paragraphs[:55]): print(i, parag.

小小明-代码实体的专栏 4万+

Python 全栈系列104 -使用python读取word

说明 使用pythonword内容结构化。 内容

yukai08008的博客 730

python中pandas读写数据详解

pandas是一个强大而灵活的Python包,它可以让你处理带有标签时间序列的数据。pandas提供了一系列的函数来读取不同类型的文件,并返回一个DataFrame对象,这是pandas的核心数据结构,它可以让你方便地对数据进行分析处理。函数名以read_开头,后面跟着文件的类型,例如read_csv()表示读取CSV文件函数的第一个参数是文件的路径或者类似文件的对象,例如read_csv("data.csv")表示读取data.csv文件,read_csv(url)表示从网址读取数据。

winnerxrj的博客 3899

Python办公自动化|从WordExcel

大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改)需要提取其中加粗的这三项内容Excel表格中存储,表格样式如下:也就是需要,同时需要将时间修改为标准格式,如果是完全手动复制修改时间,依照一个条目10s的时间计算,一分钟可以完成6条,那么最快也需要:而这类,好的那么接下来请Python出场,必要的信息我在代码中以注释信息呈现。首先使用PythonWord文件导入# 导入需要的库docx# 指定文件存放的路径。

Python栈_基的博客 3100

python读取docx表格 图片_python读取word中的段落、表、图

importdocximportzipfileimportosimportshutil‘‘‘读取word中的文本‘‘‘defgettxt():file=docx.Document("gao.docx")print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段#输出每一段的内容#for para in file.paragraphs:#print...

weixin_39562089的博客 1058

Python3-word文档操作(八):提取word文档中的图片方式一-利用docx

获取word文档中的图片文件。思路就是先解压,再查找。python中,下面两个库都可以实现这个功能: (1)zip(2)docx库 上一篇博文已经提过,word本质上也是一个压缩文件,word文档中的img文件可以在解压后的文件中找到。本篇,主要介绍使用docx来实现word文档中img文件的提取。...

记录和分享程序人生的点点滴滴 6443

极速系列04—python批量获取word/PDF/网页中的表格

通过 提供准确的位置序号或者是循环获取每个单元格中的内容,来批量获取word表格中的内容

小伟的博客 4863
上一篇: 可能是全网最完整的 Python 操作 Excel库总结!
下一篇: 跟你说个笑话!我学了一年matlab,到现在还不会读论文~
菜鸟学Python
博客等级 码龄9年 7562粉丝 571原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值