如何在Python 3中提取docx文件段落并存储为变量或列表?
拆分DOCX文件段落为字符串列表的实现方法
方法一:使用textract提取文本后拆分
安装依赖
确保已安装textract,终端执行:pip install textract若遇到docx处理相关报错,可额外安装
python-docx:pip install python-docx提取并拆分段落
textract提取的纯文本中,DOCX的段落分隔通常对应\n\n(两个换行符),以此为分隔符拆分即可,同时过滤掉空段落:import textract # 读取文件并解码为字符串 raw_text = textract.process("你的文档路径.docx").decode("utf-8") # 拆分段落并清理空白内容 paragraph_list = [para.strip() for para in raw_text.split("\n\n") if para.strip()] # 验证结果 for num, para in enumerate(paragraph_list, 1): print(f"段落 {num}:\n{para}\n")
方法二:直接用python-docx操作文档结构(更精准)
如果需要更准确地获取段落,推荐直接使用python-docx库,它能直接访问DOCX文档的段落对象,避免文本提取时的分隔符识别误差:
安装库
pip install python-docx提取段落
from docx import Document doc = Document("你的文档路径.docx") # 遍历所有段落,提取非空文本 paragraph_list = [para.text.strip() for para in doc.paragraphs if para.text.strip()] # 查看结果 for num, para in enumerate(paragraph_list, 1): print(f"段落 {num}:\n{para}\n")
说明
- 方法一适合快速提取纯文本后拆分,但若文档有复杂格式(如表格、手动换行),可能出现分隔符识别不准的情况。
- 方法二直接基于DOCX的原生文档结构,能精准获取每个段落,是更可靠的方案。
内容的提问来源于stack exchange,提问作者Swapnil MIB
相关产品推荐
相关产品推荐

