1. 简介
Python是一个非常强大的程序设计语言,可以在许多不同的领域应用。其中,处理文本和图像是Python应用的两个主要领域之一。在本文中,我们将介绍如何使用Python从Word文档中提取文本和图片。
2. Python读取Word
Python提供了几个包来读取和处理Word文档,其中最受欢迎的是Python-docx。Python-docx是一个Python库,可以读取、编辑和写入Word文档。
2.1 安装Python-docx
安装Python-docx非常容易。您可以使用pip安装Python-docx:
pip install python-docx
2.2 读取Word文档
在本文中,我们将使用示例Word文档“example.docx”。
以下是如何使用Python-docx读取Word文档的代码:
import docx
# 打开文档
doc = docx.Document('example.docx')
# 打印文档中的段落
for para in doc.paragraphs:
print(para.text)
# 打印文档中的表格
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text)
上述代码打印出Word文档中的所有段落和表格。
3. 从Word文档中提取文本
提取Word文档中的文本可能是Python处理Word文档的最常见任务之一。在本节中,我们将介绍如何使用Python-docx提取Word文档中的文本。
3.1 提取段落文本
要提取Word文档中的段落文本,只需使用Python-docx中的paragraphs属性。以下是如何提取段落文本的代码:
import docx
# 打开文档
doc = docx.Document('example.docx')
# 提取段落文本
texts = []
for para in doc.paragraphs:
texts.append(para.text)
# 打印段落文本
print(texts)
以上代码将提取“example.docx”中的所有段落文本,并将其存储在名为“texts”的列表中。
3.2 提取表格文本
要提取Word文档中的表格文本,只需使用Python-docx中的tables属性。以下是如何提取表格文本的代码:
import docx
# 打开文档
doc = docx.Document('example.docx')
# 提取表格文本
texts = []
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
texts.append(cell.text)
# 打印表格文本
print(texts)
以上代码将提取“example.docx”中的所有表格单元格文本,并将其存储在名为“texts”的列表中。
4. 从Word文档中提取图片
Python-docx还可以从Word文档中提取图片数据。以下是如何使用Python-docx提取Word文档中的图片数据的代码:
import docx
# 打开文档
doc = docx.Document('example.docx')
# 提取图片数据
for image in doc.inline_shapes:
with open(image.image.filename, 'wb') as f:
f.write(image.image.blob)
以上代码将提取“example.docx”中的所有图片,并以二进制格式将它们写入文件中。
5. 结论
本文介绍了如何使用Python-docx从Word文档中提取文本和图片。Python-docx是一个非常灵活和强大的Python库,可以在处理Word文档方面提供很多帮助。