python读取word文档并做简单的批量文档筛选
最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了python-docx这个库,抱着学习与实践结合的态度,准备记录一下。
(一)python-docx库
-
查阅官方的英文文档:python-docx文档
python-docx is a Python library for creating and updating Microsoft Word (.docx) files.
很直观地可以看出,这个包可以创建和更新以.docx为后缀的 MS word文件,并可以进行相关一系列的操作。
安装:pip install python-docx
(一般来说直接可以安上)
或:pip install -i http://pypi.douban.com/simple python-docx
或:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx
(下面两种为使用镜像安装,最近发现用豆瓣镜像源安装第三方库基本都能安装上,感觉很方便而且速度也快,使用镜像安装需要加上-i
,第二个是清华大学的镜像,应用起来也很方便,而且据说比豆瓣的镜像源还要全一些) -
docx库中的一些基本操作
- 打开一个已有的文档
from docx import Document
document = Document(“test.docx”)
#打开已有的test.docx文档(路径可以自己制定 XX:/LL/MM.docx)并创建对象
document.save('test.docx') #名字不同另存为 名字相同覆盖
- 创建一个新的文档
#创建一个新的文档对象,保存为test.docx
from docx import Document
document = Document()
document.save('test.docx')
- 读取word文档内容(非表格和表格)
from docx import *
file = Document('test.docx')
for para in file.paragraphs: # 遍历文档中的每个段落
print( para.text ) # 输出每个段落的内容
for tb in file.tables: # 遍历文档中的每个表格
for row in tb.rows: # 遍历每个表格中的行
for cell in row.cells: # 遍历一行的所有单元格
print( cell.text ) # 输出单元格的内容
print(doc.tables[0].cell(5,5).text)