📅  最后修改于: 2023-12-03 14:52:31.128000             🧑  作者: Mango
如果你需要对 Word 文档(.docx 文件)进行文本处理,你可能需要在 Python 中读取 docx 文件。在 Python 中读取 docx 文件有很多方法,这里介绍两种最常用的方法。
python-docx 库是一个 Python 库,它可以让你读取和修改 Word 文档。你可以使用 pip 包管理器安装它:
pip install python-docx
读取 docx 文件的步骤如下:
docx
模块。import docx
docx.Document()
函数读取文档。doc = docx.Document("filename.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)
完整代码示例:
import docx
doc = docx.Document("filename.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)
Zipfile 库是 Python 的标准库之一,它可以将压缩文件解压缩并读取其中的文件。由于 docx 文件实际上是一组 XML 文件和图像文件的 ZIP 压缩包,因此可以使用 zipfile 库来读取。
读取 docx 文件的步骤如下:
import zipfile
from io import BytesIO
with zipfile.ZipFile("filename.docx", "r") as docx:
content = docx.read("word/document.xml")
完整代码示例:
import zipfile
from io import BytesIO
import xml.etree.ElementTree as ET
with zipfile.ZipFile("filename.docx", "r") as docx:
content = docx.read("word/document.xml")
tree = ET.fromstring(content)
# 遍历段落
for paragraph in tree.iter("{http://schemas.openxmlformats.org/wordprocessingml/2006/main}p"):
text = ""
for elem in paragraph.iter():
if elem.text:
text += elem.text
print(text)
以上两种方法都可以让你在 Python 中读取 docx 文件。如果你不需要对文档进行修改,那么 python-docx 库是更好的选择,因为它提供了更方便的方法来读取和处理文档。