Python库:docx2txt读取word(.docx)文件 作者:马育民 • 2026-02-28 09:22 • 阅读:10001 # 介绍 - 提取 .docx 文档的 **纯文本**(正文、标题、表格、页眉、页脚、超链接) - 提取文档中的 **图片** 并保存到指定目录 - 纯Python实现,无需安装Microsoft Office或LibreOffice - 可通过 **命令行** 或 **Python代码** 调用 ### 适用场景 - 快速批量提取 Word 文档文本用于 NLP 预处理 - 文档内容检索、文本分析、数据清洗 - 自动化办公流程(如合同/报告文本提取) - 轻量级文档转换,无需依赖大型办公软件 # 安装 ### pip 安装 ```bash pip install docx2txt ``` ### poetry 虚拟环境安装 ``` poetry add docx2txt ``` ### conda 安装 ``` conda install conda-forge::docx2txt ``` # 使用方法 ### 1. 命令行使用 ```bash # 仅提取文本(输出到控制台) docx2txt input.docx # 提取文本并保存到文件 docx2txt input.docx output.txt # 提取文本 + 图片(图片保存到 ./images 目录) docx2txt -i ./images input.docx ``` ### 2. Python 代码调用 ```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 集成(文档加载) ```python 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流水线 | 原文出处:http://www.malaoshi.top/show_1GW2rJffHnPm.html