Python读取Word(.docx)正文信息的方法

yipeiwu_com7年前Python基础

本文介绍用Python简单读取*.docx文件信息,一些python-word库就是对这种方法的扩展。

介绍分两部分:

  • Word(*.docx)文件简述
  • Python提取Word信息

Word(*.docx)文件简述

大约在2008年以前,Office产品中Word用.doc文件格式,这种二进制格式很难与其他软件兼容。
为了跟上时代,微软采用类XML格式标准定义其新版Word文件.docx。
.docx实际上是一个zip的压缩文件,比如我们有一个test.docx的文件:

其内容如下:

改变其后缀名为test.zip,然后解压,会得到如下文件:

其中Word文件的正文内容被保持在word/document.xml中,我们可以打开查看:

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设计】。

相关文章

pandas DataFrame 交集并集补集的实现

pandas DataFrame 交集并集补集的实现

1.场景,对于colums都相同的dataframe做过滤的时候 例如: df1 = DataFrame([['a', 10, '男'], ['b', 11, '...

利用python实现命令行有道词典的方法示例

利用python实现命令行有道词典的方法示例

前言 由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持...

python中的数据结构比较

列表:list=[val1,val2] 1.列表中的每一个元素都是可变的,有序的,可以被查看索引的。 可变意味着可以对每个元素进行增删改查的操作,列表中的元素可以是Python中的任...

浅析Python多线程下的变量问题

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就...

Python socket聊天脚本代码实例

这篇文章主要介绍了Python socket聊天脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 没有前端,多开了一条线程用...