python docx 提取图片_python 解析docx文档的方法,以及提取插入的文本对象和图片...
首先安装docx模块,通过pip install docx或者在docx官方链接上下载安装都可以
下面来看下如何解析docx文档:文档格式如下
有3个部分组成 1 正文:text文档 2 一个表格。 3一个插入的文件对象。4 一个图片 这4个部分是我们在docx文档中最常见的几种格式。解析代码如下
importdocx
defdocx_try():
doc=docx.Document(r‘E:\py_prj\test.docx‘)
forp indoc.paragraphs:
printp.text
fort indoc.tables:
forr int.rows:
forc inr.cells:
printc.text
E:\python2.7.11\python.exe E:/py_prj/test3.py
Test文档
名称
作用
Python
解析数据
C语言
调用底层接口
HTML
网页数据
首先是用docx.Document打开对应的文件目录。docx文件的结构比较复杂,分为三层,1、Docment对象表示整个文档;2、Docment包含了Paragraph对象的列表,Paragraph对象用来表示文档中的段落;3、一个Paragraph对象包含Run对象的列表。 因此p.text会打印出整个的文本文档。而用doc.tables来遍历所有的表格。并且对每个表格通过遍历行,列的方式来得到所有的内容。
但是在运行结果中并没有找到我们插入的文件对象和图片,text.txt文档。这部分该如何解析呢。首先我们需要先来认识下docx文档的格式组成:
docx是Microsoft Office2007之后版本使用的,用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母“x”(即“.docx”取代“.doc”、“.xlsx”取代“.xls”、“.pptx”取代“.ppt”)。
docx格式的文件本质上是一个ZIP文件。将一个docx文件的后缀改为ZIP后是可以用解压工具打开或是解压的。事实上,Word2007的基本文件就是ZIP格式的,他可以算作是docx文件的容器。
docx 格式文件的主要内容是保存为XML格式的,但文件并非直接保存于磁盘。它是保存在一个ZIP文件中,然后取扩展名为docx。将.docx 格式的文件后缀改为ZIP后解压, 可以看到解压出来的文件夹中有word这样一个文件夹,它包含了Word文档的大部分内容。而其中的document.xml文件则包含了文档的主要文本内容
从上面的文档我们可以了解到docx文档实际上是由XML文档打包组成的。那么我们要得到其中所有的部分,可以用ZIP解压的方式来得到所有的部件。我们先试下看是否可以
1 将docx文档改成ZIP的后缀
2 解压文件
解压之后得到如下几个文件
点开word文件夹:有如下的文件夹。document.xml就是描述文本对象的文件
其中embeddings文件中就是我们插入的文本对象text.txt. 是一个bin文件
Media文件中就是存储的图片:
我们通过手动的方式将插入的文本以及图片解析出来,那么通过代码也是同样可以解析的。代码如下。
os.chdir(r‘E:\py_prj‘) #首先改变目录到文件的目录
os.rename(‘test.docx‘,‘test.ZIP‘) # 重命名为zip文件
f=zipfile.ZipFile(‘test.zip‘,‘r‘) #进行解压
forfile inf.namelist():
f.extract(file)
file=open(r‘E:\py_prj\word\embeddings\oleObject1.bin‘,‘rb‘).read() #进入文件路径,读取二进制文件。
forf infile:
printf
通过上面的方式,就可以将docx中插入的文件以及图片全部解析出来。具体docx的写的方式可以参考官方文档的介绍
原文:http://www.cnblogs.com/zhanghongfeng/p/7043412.html
python docx 提取图片_python 解析docx文档的方法,以及提取插入的文本对象和图片...相关推荐
- 怎么把jpg转换html,一种将图片转成HTML文档的方法与流程
本发明涉及网页开发技术领域,特别是一种将图片转成HTML文档的方法. 背景技术: 网页设计/美工人员通常将一个网页设计导出成图片的形式:网页前端人员负责将图片转成前端HTML供后端人员开发功能:前端人 ...
- python读取docx中表格 图片_python 解析docx文档的方法,以及提取插入的文本对象和图片...
首先安装docx模块,通过pip install docx或者在docx官方链接上下载安装都可以 下面来看下如何解析docx文档:文档格式如下 有3个部分组成 1 正文:text文档 2 一个表格. ...
- python怎么获取word文档的章节_python读取word文档的方法
本文实例讲述了python读取word文档的方法.分享给大家供大家参考.具体如下: 首先下载安装win32com from win32com import client as wc word = wc ...
- python统计word词频_python统计word文档中的词频
如何将统计word文档中的词频呢?先用docx模块将word文档转变成txt格式,然后使用jieba模块进行分词,并统计词频.是不是很简单- #2020年3月10日 #Elizabeth from d ...
- python套用word模板_Python之word文档模板套用 - 真正的模板格式套用
1 ''' 2 #word模板套用2:套用模板3 ''' 4 5 #导入所需库 6 from docx importDocument7 ''' 8 #另存word文档后格式丢失的问题要导入库设定wor ...
- python的txt导入数据库_python将txt文档每行内容循环插入数据库的方法
如下所示: import pymysql import time import re def get_raw_label(rece): re1 = r'"([\s\S]*?)": ...
- java word添加图片_Java 替换word文档文字并指定位置插入图片
先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...
- 大杂烩 -- 四种生成和解析XML文档的方法详解
基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...
- 文字图片转换成word文档的方法?
在很多情况下,我们都想把图片上的文字转成word文档文字,但是由于没有好的方法,能不转换的就不转换,比如说图片上的文字比较少,通常的做法就是手动输入到word文档中,要是图片上的是文章,在没有必要的情 ...
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...
最新文章
- ode matlab传递变量,一个时变ode求解例子——以及如何向myode传递附加参数
- Android-- FragmentStatePagerAdapter分页
- [云炬创业基础笔记]第四章测试21
- bzoj 1911: [Apio2010]特别行动队 2011-12-26
- Java学习之数据类型的转换
- 献给初学者,[winform]中如何设计高效全局的快捷键?[ShortcutKeys]
- vscode 头文件包含问题_VScode编译C++ 头文件显示not found的问题
- win10强制关闭飞行模式_电脑飞行模式灰色关不掉怎么办
- linux搭建服务器有什么用处,Linux配置dns服务器作用是什么?
- html中如何出现三重阴影,探索 CSS3 中的 box-shadow 属性
- 失眠就吃安眠药真的好吗?好心情送你沾枕到天亮的诀窍
- VUE读取Vcard文件,并获取/筛选想要的内容
- 计算机Web书籍推荐
- picker多选 vant_浅谈vant组件Picker 选择器选单选问题
- 北大暑期学校学习总结
- Pyside2安装与基础操作
- graphql 嵌套查询_了解GraphQL中的查询
- 【system】利用Diskpart命令(cmd)解决装机分区格式不对,增大C盘空间问题
- python从入门到实践:数据类型、文件处理
- 【第三趴】uni-app页面搭建与路由配置(了解工程目录结构、学会搭建页面、配置路由并成功运行)