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实现在windows下操作word的方法
Apr 28 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
python小程序实现刷票功能详解
Jul 17 Python
django将数组传递给前台模板的方法
Aug 06 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
python构造IP报文实例
May 05 Python
python logging模块的使用
Sep 07 Python
python使用smtplib模块发送邮件
Dec 17 Python
如何用python识别滑块验证码中的缺口
Apr 01 Python
Python与C++中梯度方向直方图的实现
Mar 17 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 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php操作xml
2013/10/27 PHP
php对数组排序代码分享
2014/02/24 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP如何使用Memcached
2016/04/05 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
js 字符串操作函数
2009/07/25 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
彻底搞懂Python字符编码
2018/01/23 Python
Python实现的计算器功能示例
2018/04/26 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Python 项目转化为so文件实例
2019/12/23 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
化工专业自荐书
2014/06/16 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
欠条样本
2015/07/03 职场文书
教师节座谈会主持词
2015/07/03 职场文书
小学教师教学随笔
2015/08/14 职场文书
2016新年问候语大全
2015/11/11 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书