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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
Python文件和目录操作详解
Feb 08 Python
Python爬取读者并制作成PDF
Mar 10 Python
Python的Django中django-userena组件的简单使用教程
May 30 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
python文本数据相似度的度量
Mar 12 Python
python+Splinter实现12306抢票功能
Sep 25 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
python实现五子棋小游戏
Mar 25 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
Python使用pdb调试代码的技巧
May 03 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
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
ECMAScript 基础知识
2007/06/29 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
Python文件及目录操作实例详解
2015/06/04 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
Flask之flask-session的具体使用
2018/07/26 Python
python的turtle库使用详解
2019/05/10 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
使用Django清空数据库并重新生成
2020/04/03 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
nginx配置之并发频次限制
2022/04/18 Servers