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使用arp欺骗伪造网关的方法
Apr 24 Python
六个窍门助你提高Python运行效率
Jun 09 Python
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
利用Python开发实现简单的记事本
Nov 15 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python 异常处理的实例详解
Sep 11 Python
django rest framework之请求与响应(详解)
Nov 06 Python
pandas series序列转化为星期几的实例
Apr 11 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
通过实例了解Python异常处理机制底层实现
Jul 23 Python
Python扫描端口的实现
Jan 25 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判断电子邮件是否正确方法
2018/12/04 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
js实现楼层导航功能
2017/02/23 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python实现教务管理系统
2018/03/12 Python
python实现海螺图片的方法示例
2019/05/12 Python
python多线程http压力测试脚本
2019/06/25 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
django使用JWT保存用户登录信息
2020/04/22 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
自我鉴定怎么写
2014/01/12 职场文书
投资合作协议书范本
2014/04/17 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
2019个人半年工作总结
2019/06/21 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
Js类的构建与继承案例详解
2021/09/15 Javascript
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL