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 相关文章推荐
Python显示进度条的方法
Sep 20 Python
Python中类型关系和继承关系实例详解
May 25 Python
Python中__init__.py文件的作用详解
Sep 18 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
pycharm的console输入实现换行的方法
Jan 16 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
用Python逐行分析文件方法
Jan 28 Python
Python Collatz序列实现过程解析
Oct 12 Python
Python日志syslog使用原理详解
Feb 18 Python
Django模板获取field的verbose_name实例
May 19 Python
pandas数据处理之绘图的实现
Jun 15 Python
python 实现体质指数BMI计算
May 26 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
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP session 会话处理函数
2016/06/06 PHP
预加载css或javascript的js代码
2010/04/23 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
js实现表格筛选功能
2017/01/18 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
Python translator使用实例
2008/09/06 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
python提取log文件内容并画出图表
2019/07/08 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
在python中求分布函数相关的包实例
2020/04/15 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
大学生实训报告总结
2014/11/05 职场文书
2015年教师新年寄语
2014/12/08 职场文书
旗帜观后感
2015/06/08 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书