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
相关产品推荐
相关产品推荐

