尝试使用Python docx从大型docx中提取电子邮件



这里是新手。

我正在努力为自己节省数小时的工作时间,手动浏览一个大写的文档来提取所有的电子邮件。

到目前为止,我创建了这个小脚本:

import re
from docx import Document
document = Document('directory.docx')
email_list = []
for para in document.paragraphs:
emails = re.findall(r'[w.-]+@[w.-]+', para.text)
if emails:
with open('your_file.txt', 'w') as f: 
for item in emails:      
f.write("%sn" % item)      
else:
print("email not found")

不幸的是,我只得到了";未找到电子邮件";尽管文档中有许多电子邮件。我认为正则表达式是正确的。

你做到了:

for para in document.paragraphs:
emails = re.findall(r"[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]+", r"para")

这意味着您指示findallr"para"字符串中搜索,而您可能是指para变量,请尝试将代码更改为

for para in document.paragraphs:
emails = re.findall(r"[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]+", para)

并写下你得到的效果

相关内容

  • 没有找到相关文章

最新更新