【发布时间】:2018-07-06 12:51:20
【问题描述】:
我有一个电子邮件列表,想只提取域并计算每个域出现的次数:
电子邮件:
best@yahoo.com
hello@gmail.com
everybody@gmail.com
再见@gmail.com
day@yahoo.com
table.blue@gmail.com
life@yahoo.com
脚本:
import re
from collections import Counter
with open("mails.txt", "r") as f:
texte = f.read().split('\n')
for line in texte:
newline = re.search("@[\w.]+", line)
newmail = newline.group()
mails_value = Counter(newmail).most_common()
print (mails_value)
输出:
[('@', 1), ('g', 1), ('6', 1), ('5', 1), ('.', 1), ('f', 1 ), ('r', 1)]
Traceback(最近一次调用最后一次):
文件“counting.py”,第 10 行,在
newmail = newline.group()AttributeError: 'NoneType' 对象没有属性 'group'
良好的输出:
@yahoo.com 3
@gmail.com 4
【问题讨论】:
-
你不计算提取的提及,先收集,然后找到最常见的,见ideone.com/PyxjGt