You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用python-docx读取docx仅输出换行,是否为库支持不足导致?

不是,python-docx读取文本内容完全不受字号大小影响,只要是标准的正文段落内容,不管字号设置为多少,都会被正常解析读取。

你遇到的读取结果只有换行的情况,大概率是以下几种原因导致的:

  • 文档内容全部放在文本框、自选形状、页眉/页脚等非正文区域:python-docx的paragraphs属性默认只会读取文档正文层级的段落,文本框这类嵌入元素里的内容不会被纳入这个列表,自然读不到对应文本。
  • 文件路径填写错误:你代码里的路径是占位符...,如果实际运行时传入的路径指向了另一个空白docx文件,自然只会读取到空内容。
  • docx文件结构不标准:用WPS、Mac Pages等非微软Office软件导出的部分docx文件会存在非标准的XML结构,python-docx解析时无法识别到有效段落,也会出现读取不到内容的情况。

你可以先运行下面的代码确认正文段落数量,先定位问题来源:

import docx
template = docx.Document("替换为你的实际文件路径.docx")
# 打印正文段落总数
print("正文段落数:", len(template.paragraphs))

如果输出的段落数远小于你实际的内容行数,就说明内容不在正文区域,多数情况是放在了文本框里,可以用下面的代码同时读取正文和文本框内容:

import docx

doc = docx.Document("替换为你的实际文件路径.docx")
all_content = []
# 读取正文段落
for para in doc.paragraphs:
    all_content.append(para.text)
# 读取所有文本框中的内容
for shape in doc.inline_shapes:
    if shape.has_text_frame:
        for para in shape.text_frame.paragraphs:
            all_content.append(para.text)

print("\n".join(all_content))

内容的提问来源于stack exchange,提问作者Alan Bagel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:18:04