1,利用python读取纯文字的word文档,读取段落和段落里的文字。

先读取段落,代码如下:

1 '''

2 #利用python读取word文档,先读取段落

3 '''

4 #导入所需库

5 from docx import Document

6

7 #打开word文档

8 document = Document("D:/路径/长恨歌.docx")

9

10 #获取所有段落

11 all_paragraphs = document.paragraphs

12 #打印看看all_paragraphs是什么东西

13 print(type(all_paragraphs)) #,打印后发现是列表

14 #是列表就开始循环读取

15 for paragraph in all_paragraphs:

16 #打印每一个段落的文字

17 print(paragraph.text)

效果:

再读取段落里的内容,代码如下:

1 '''

2 #利用python读取word文档

3 '''

4 #导入所需库

5 from docx import Document

6

7 #打开word文档

8 document = Document("D:/路径/长恨歌.docx")

9

10 #获取所有段落

11 all_paragraphs = document.paragraphs

12 #打印看看all_paragraphs是什么东西

13 print(type(all_paragraphs)) #,打印后发现是列表

14 #是列表就开始循环读取

15 for paragraph in all_paragraphs:

16 #打印每一个段落的文字

17 #print(paragraph.text)

18 #循环读取每个段落里的run内容

19 for run in paragraph.runs:

20 print(run.text) #打印run内容

效果如下:

其实都准确的获取了文字内容,但是paragraph是保留了word文档里的换行符,而run是没有保留的。

2,利用python读取纯表格文档,那要读取的文字都是存储在单元格里,需要读取单元格里的内容:

1 '''

2 #利用python读取word文档,表格文档

3 '''

4 #导入所需库

5 from docx import Document

6

7 #打开文件

8 document = Document("D:/路径/长恨歌-表格.docx")

9 #获取文档所有表格

10 all_tables = document.tables

11

12 #打印all_tables类型

13 print(type(all_tables)) #得到,即列表

14 #开始循环读取表格列表

15 for table in all_tables:

16 #循环读取表格的每一行

17 for row in table.rows:

18 #print(row)

19 #循环读取表格的每一个单元格

20 for cell in row.cells:

21 #打印单元格里的内容

22 print(cell.text) #打印

3,利用python读取word文档,文档是表格加文字组合而成的。这个就设计word文档格式问题了。将要处理的word文档后缀名改为zip,发现也可以打开,里面有几个文件如图:

点开word目录,发现有个document.xml,这就是我们要处理的文件。

代码开始:

1 '''

2 #利用python读取word文档,表格文档

3 '''

4 #导入所需库

5 import zipfile #解压文件库

6 #先将要处理的word文档用zipfile进行压缩

7 word = zipfile.ZipFile('D:/路径/长恨歌-文字+表格.docx')

8

9 #找到要处理的xml文件并以utf-8的格式读取

10 xml = word.read('word/document.xml').decode('utf-8')

11 #打印看看

12 #print(type(xml)) #字符串

13 #print(xml) #打印整个字符串

14 #接下来分割字符串并存储到列表中

15 xml_list = xml.split('') #以字符串进行分割字符串

16 #打印看是否符合预期

17 #print(type(xml_list)) #是列表

18 #print(xml_list) #列表内容

19

20 #开始切片,找标签

21 text_list = [] #新建空list用以存储切出来的数据

22 #开始循环读取列表xml_list

23 for i in xml_list:

24 #条件查找

25 if i.find('') + 1: #切片查找是如果没找到是会返回-1,我们+1让他返回0,再运行else分支

26 text_list.append(i[:i.find('')]) #如果不是返回0就把找到的依次追加到text_list末尾

27 else:

28 pass

29 #print(text_list)

30 #再将得到的列表拆分为字符串

31 text = ''.join(text_list) #以空字符串为间隔,将列表拆分为字符串

32 print(text)

第三个表格加文字的取出文字有点绕,多处理几遍就行了。

标签:xml,word,读取,Python,text,文档,print

来源: https://www.cnblogs.com/mafu/p/13968857.html

python怎么查找word文档,Python读取word文档内容相关推荐

  1. 用python读取文档_python读取word文档

    word.Quit() 这种方式产生的text文档,不能用python用普通的r方式读取,为了让python可以用r方式读取,应当写成 doc.SaveAs('c:/test', 4) 注意:系统执行 ...

  2. python识别颜色1007python识别颜色_python读取word文档识别字段颜色,解析字段

    python版本3.7.3,读取的文档格式为.docx 文中带有简单注释 看不懂的百度网盘下载直接查看,更改运行里面的py文件 提取码:nngw import os import sys import ...

  3. python处理pdf实例_python 使用pdfminer3k 读取PDF文档的例子

    1.安装 pdfminer3k 通过pip安装: pip install pdfminer3k 下载安装:在网页 https://pypi.org/project/pdfminer3k/1.3.1/# ...

  4. python解析word中表格_python读取word表格

    python如何获取word文件中某个关键字之后的表格 用python对word文档进行搜索和读取,要CSS布局HTML小编今天和大家分享读取docx文件中某个关键字文本最好是全部都读取到程序中,在程 ...

  5. python 读取word 题库_Python-docx 读取word.docx内容

    第一次写博客,也不知道要写点儿什么好,所以就把我在学习Python的过程中遇到的问题记录下来,以便之后查看,本人小白,写的不好,如有错误,还请大家批评指正! 中文编码问题总是让人头疼,想要用Pytho ...

  6. java读取带格式word文档_Java读取word文档解决方案

    java读取word文档时,虽然网上介绍了很多插件poi.java2Word.jacob.itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用):java ...

  7. c语言读word,C语言实用读取word文档的方法

    C语言读取word文档的方法 第一种方法: 复制代码代码如下: Response.ClearContent(); Response.ClearHeaders(); Response.ContentTy ...

  8. php打开word文档_PHP读取word文档的方法分享

    本文主要介绍PHP读取word文档的方法,较为详细的分析了COM组件的开启.属性设置及基于COM组件打开并读取word文档的操作技巧,需要的朋友可以参考下,希望能帮助到大家. php开发 过程中可能会 ...

  9. python list查找元素_使用python list 查找所有匹配元素的位置实例

    使用python list 查找所有匹配元素的位置实例 如下所示: import re word = "test" s = "test abcdas test 1234 ...

  10. 【Python基础】生成.pkl文件,读取.pkl文件的内容

    保存 def save_dict(data, name):with open(name + '.pkl', 'wb') as f:pickle.dump(data, f, pickle.HIGHEST ...

最新文章

  1. 2月07日云栖精选夜读:观点 | 阿里云 MVP 唐俊飞:安全性可以认为是一种能力...
  2. 金黄色的LED灯带感光特性测量
  3. 中国膏剂(膏方)行业运营模式及十四五前景预测报告2022年版
  4. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  5. 实验3 分支语句和循环语句(1)
  6. Lattice Diamond 和 ispLEVER 的不同之处
  7. install-info - 更新 info/dir 项
  8. 自定义Sublime Text图标详细教程
  9. 滚动条样式设置_自定义滚动条样式
  10. android中常用的宏,iOS-开发中常用的宏有哪些?
  11. 听羊哥聊如何学习一门新技术
  12. 自己的微信小程序学习笔记【1】——小程序开发工具的使用及项目文件说明
  13. 大尺度衰落与小尺度衰落
  14. C Primer Plus 第五章 课后答案
  15. 吃鸡无线重新链接服务器,吃鸡跟新时发生错误 无法连接更新服务器 | 手游网游页游攻略大全...
  16. #BDA#笔记#阶段一:熟悉要分析的数据
  17. Scott 数据 映射 MySQL
  18. 北理工计算机学院沈建斌,谭毓安_北京理工大学计算机学院
  19. 一个好用的在线录屏软件
  20. shell 脚本的cut使用方法

热门文章

  1. 基于布谷鸟搜索算法的无线传感器网络覆盖优化
  2. 小小精彩的flash
  3. 中台架构的未来在哪—开放式架构
  4. nexus3私库环境搭建(maven,yum,apt,nodejs)
  5. 如何使用Java开发QQ机器人 方法二
  6. ctfmon.exe频繁出错的一个解决办法
  7. 暴风影音2013校园招聘笔试题目——c语言D卷
  8. C语言差分双向码编码,基于c语言的数字基带信号码型变换系统设计1.doc
  9. 桌面快捷方式自动消失
  10. 数字逻辑电路期末复习与常见问题