Python读取Word(.docx)正文信息的方法


Posted in Python onMarch 15, 2018

本文介绍用Python简单读取*.docx文件信息,一些python-word库就是对这种方法的扩展。

介绍分两部分:

  • Word(*.docx)文件简述
  • Python提取Word信息

Word(*.docx)文件简述

大约在2008年以前,Office产品中Word用.doc文件格式,这种二进制格式很难与其他软件兼容。
为了跟上时代,微软采用类XML格式标准定义其新版Word文件.docx。
.docx实际上是一个zip的压缩文件,比如我们有一个test.docx的文件:

Python读取Word(.docx)正文信息的方法

其内容如下:

Python读取Word(.docx)正文信息的方法

改变其后缀名为test.zip,然后解压,会得到如下文件:

Python读取Word(.docx)正文信息的方法

其中Word文件的正文内容被保持在word/document.xml中,我们可以打开查看:

Python读取Word(.docx)正文信息的方法

Python提取Word信息

根据Word(.docx)文件格式,我们遵循如下步骤进行正文信息的提取:

1 解压.docx文件
2 用BeautifulSoup解析word/document.xml提取正文信息

具体代码如下:

from zipfile import ZipFile
from bs4 import BeautifulSoup

document=ZipFile('test.docx')
xml=document.read("word/document.xml")
wordObj=BeautifulSoup(xml.decode("utf-8"))
texts=wordObj.findAll("w:t")
for text in texts:
  print(text.text)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 Python
python 容器总结整理
Apr 04 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
Python实现的归并排序算法示例
Nov 21 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
基于Python+Appium实现京东双十一自动领金币功能
Oct 31 Python
python DataFrame转dict字典过程详解
Dec 26 Python
Python中Yield的基本用法
Oct 18 Python
python中类与对象之间的关系详解
Dec 16 Python
30秒轻松实现TensorFlow物体检测
Mar 14 #Python
tensorflow识别自己手写数字
Mar 14 #Python
磁盘垃圾文件清理器python代码实现
Aug 24 #Python
Django自定义用户认证示例详解
Mar 14 #Python
python如何压缩新文件到已有ZIP文件
Mar 14 #Python
python中format()函数的简单使用教程
Mar 14 #Python
Python批量提取PDF文件中文本的脚本
Mar 14 #Python
You might like
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
MooTools 1.2介绍
2009/09/14 Javascript
Javascript Object.extend
2010/05/18 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
Django添加feeds功能的示例
2018/08/07 Python
python try 异常处理(史上最全)
2019/03/07 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
母校寄语大全
2014/04/10 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
董事长年会致辞
2015/07/29 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
讲解Python实例练习逆序输出字符串
2022/05/06 Python