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的Django框架上部署ORM库的教程
Apr 20 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
PyTorch的Optimizer训练工具的实现
Aug 18 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
Python中使用subprocess库创建附加进程
May 11 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 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
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
Ext 今日学习总结
2010/09/19 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
django创建简单的页面响应实例教程
2019/09/06 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
产品发布会策划方案
2014/05/12 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
学生病假条怎么写
2015/08/17 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python