python同时读取表格和段落_python中使用docx库操作word文档记录(1)- 读取文本和表格...

本文介绍了如何使用Python的docx库来读取word文档的文本和表格。通过Document对象读取段落,利用Paragraph对象的text属性获取文本内容,通过tables属性遍历并获取表格数据。但需要注意,某些特殊格式的表格可能无法正确读取。

python中使用docx库操作word文档记录(1)- 读取文本和表格

本文记录docx库读取word文本和表格的方法

一、使用docx模块

Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。

安装方法为:pip install python-docx

二、相关概念

先了解python-docx模块的几个概念。

1,Document对象,表示一个word文档。

2,Paragraph对象,表示word文档中的一个段落

3,Paragraph对象的text属性,表示段落中的文本内容。

三、读取文本

from docx import Document #导入库

path = 'ys.docx' #文件路径

wordfile = Document(path) #读入文件

paragraphs = wordfile.paragraphs

#输出每一段的内容

for paragraph in wordfile.paragraphs:

print(paragraph.text +"\n end")

#输出段落编号及段落内容

for i in range(len(wordfile.paragraphs)):

print("第"+str(i)+"段的内容是:"+wordfile.paragraphs[i].text)

如果不需要获取文本中的空行,则可以增加下面的判断条件:

if paragraphs[i].text.strip()!="": # 去空行

或者

if paragraph.text.count("\n") == len(paragraph.text): # 去空行

四、读取表格

from docx import Document #导入库

path = '1.docx' #文件路径

document = Document(path) #读入文件

tables = document.tables #获取文件中的表格集

print(len(tables)) #获取文件中的表格数量

for table in tables:#遍历每一个表格

for row in table.rows:#从表格第一行开始循环读取表格数据

for cell in row.cells:#遍历每一个单元格

print(cell.text) #获取单元格的内容

'''

后面两行也可以用下面的方式

for j in range(len(row.cells)):

print(row.cells[j].text)

'''

这里要说明一下,不是word里面所有的表格都能正确读取。

如下图:带一个锚,表格外围有虚线的这类表格提取不到,不知道有没有好的方法。

这类的表格一般是pdf或者其他系统生成的表格,并非直接在word中插入的表格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值