这里是新手。
我正在努力为自己节省数小时的工作时间,手动浏览一个大写的文档来提取所有的电子邮件。
到目前为止,我创建了这个小脚本:
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")
这意味着您指示findall
在r"para"
字符串中搜索,而您可能是指para
变量,请尝试将代码更改为
for para in document.paragraphs:
emails = re.findall(r"[a-z0-9.-+_]+@[a-z0-9.-+_]+.[a-z]+", para)
并写下你得到的效果