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

Python提取Word文档邮件内容:主题截断与格式问题求助

问题修复方案

一、主题丢失最后一个字符的修复

你的主题提取代码里,subjectPara[subjectIndex + 1 : -1]的-1切片会把字符串最后一个字符切掉,这就是输出少了"e"的原因。只要移除这个-1,让切片取到字符串末尾即可:

import docx

doc = docx.Document("sample email.docx")
subjectPara = doc.paragraphs[0].text
subjectIndex = subjectPara.find(":")
Subject = subjectPara[subjectIndex + 1:].strip()  # 移除-1,取到字符串末尾
print(Subject)

修复后输出:

Introducing: “TikTok 4 Realtors” Package

二、正文格式的修复

要实现「Hi (name),后加空行」和「正文段落与问候语间加空行」的要求,可以通过识别关键段落,在对应位置插入空行:

import docx

doc = docx.Document("sample email.docx")
body_parts = []
for para in doc.paragraphs:
    para_text = para.text.strip()
    # 跳过主题行和Body标记行
    if para == doc.paragraphs[0] or para_text == "Body:":
        continue
    body_parts.append(para.text)

# 处理格式要求
formatted_body = []
for i, part in enumerate(body_parts):
    formatted_body.append(part)
    # 在Hi (name),行后添加空行
    if part.strip() == "Hi (name),":
        formatted_body.append("")
    # 在问候语(以Best Regards,开头)前添加空行
    if i < len(body_parts)-1 and body_parts[i+1].strip().startswith("Best Regards,"):
        formatted_body.append("")

# 拼接成最终正文
body = '\n'.join(formatted_body)
print(body)

修复后输出:

Hi (name),

Please take a look at our new website: TikTok4Realtors.com.

Best Regards,
James O.
CEO/Founder

内容的提问来源于stack exchange,提问作者Hasan Abdul Ghaffar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:30:49