📅  最后修改于: 2023-12-03 15:22:15.970000             🧑  作者: Mango
Microsoft Word 是一款广泛使用的文本处理软件,常用于写作、编辑、排版等方面。在某些情况下,我们可能需要使用 Python 对 Word 文档进行操作和处理。本文将介绍如何使用 Python 读取 MS Word 文档。
Python-docx 是一个用于创建和操作 Word 文档的 Python 包。可以使用以下命令安装此包:
pip install python-docx
要读取 Word 文档,我们需要使用 Python-docx 包中的 Document 类。可以使用以下代码从 Word 文档中读取文本:
import docx
doc = docx.Document("filename.docx")
full_text = []
for para in doc.paragraphs:
full_text.append(para.text)
doc_text = '\n'.join(full_text)
print(doc_text)
在上面的代码中,我们首先导入了 docx 模块并使用 Document 类打开 Word 文档。然后我们循环遍历文档中的每个段落,并将其文本添加到 full_text 列表中。最后,我们将 full_text 列表中的所有文本连接起来,并打印结果。
如果我们只想读取文档中特定样式的文本,可以使用以下代码:
import docx
doc = docx.Document("filename.docx")
full_text = []
for para in doc.paragraphs:
if para.style.name == 'Heading 1':
full_text.append(para.text)
doc_text = '\n'.join(full_text)
print(doc_text)
在上面的代码中,我们将 if 语句添加到循环中,以检查段落的样式是否为“Heading 1”。如果是,我们将其文本添加到 full_text 列表中。
如果 Word 文档中包含表格,我们可以使用以下代码读取表格中的数据:
import docx
doc = docx.Document("filename.docx")
table = doc.tables[0] # 读取第一个表格
data = []
keys = [cell.text.strip() for cell in table.row_cells(0)]
for row in table.rows[1:]:
item = {}
for idx, cell in enumerate(row.cells):
item[keys[idx]] = cell.text.strip()
data.append(item)
print(data)
在上面的代码中,我们首先使用 doc.tables[0] 读取 Word 文档中的第一个表格。然后我们循环遍历表格中的每一行,并将每一行转换为一个 Python 字典。字典的键是表格第一行中的数据,值是该行中的单元格文本。将该字典添加到 data 列表中,并最终打印该列表。
本文介绍了如何使用 Python 读取 MS Word 文档。通过使用 Python-docx 包,我们可以轻松地从 Word 文档中读取文本、特定样式的文本或表格数据。