Python库:docx2txt读取word(.docx)文件

介绍

  • 提取 .docx 文档的 纯文本(正文、标题、表格、页眉、页脚、超链接)
  • 提取文档中的 图片 并保存到指定目录
  • 纯Python实现,无需安装Microsoft Office或LibreOffice
  • 可通过 命令行 或 Python代码 调用

适用场景

  • 快速批量提取 Word 文档文本用于 NLP 预处理
  • 文档内容检索、文本分析、数据清洗
  • 自动化办公流程(如合同/报告文本提取)
  • 轻量级文档转换,无需依赖大型办公软件

安装

pip 安装

pip install docx2txt

poetry 虚拟环境安装

poetry add docx2txt

conda 安装

conda install conda-forge::docx2txt

使用方法

1. 命令行使用

# 仅提取文本(输出到控制台)
docx2txt input.docx

# 提取文本并保存到文件
docx2txt input.docx output.txt

# 提取文本 + 图片(图片保存到 ./images 目录)
docx2txt -i ./images input.docx

2. Python 代码调用

import docx2txt

# 1. 仅提取文本
text = docx2txt.process("example.docx")
print(text)

# 2. 提取文本 + 图片(图片保存到指定目录)
# 目录不存在会自动创建
text_with_images = docx2txt.process("example.docx", image_dir="./extracted_images")

3. 与 LangChain 集成(文档加载)

from langchain_community.document_loaders import Docx2txtLoader

loader = Docx2txtLoader("example.docx")
documents = loader.load()  # 返回 Document 对象列表

与其他工具对比

工具 特点 依赖 适用场景
docx2txt 轻量、纯Python、文本+图片 无 快速文本提取
python-docx 功能完整、可读写docx 无 复杂文档编辑/生成
mammoth docx→HTML、保留格式 无 网页展示、格式保留
unstructured 多格式、结构化解析 较多 复杂NLP流水线

原文出处:/show_1GW2rJffHnPm.html