2024-03-28 10:02:51 发布
网友
您没有从电子邮件中提取域。因此,同一域中的多封电子邮件被视为不同的组织
for line in fh: if not line.startswith('From: '): continue pieces = line.split() email = pieces[1] pieces = email.splot('@') org = pieces[1] ...
另外,您可能希望使用SQLite INSERT - ON DUPLICATE KEY UPDATE (UPSERT)中的代码,这样就不必执行SELECT查询来查看组织是否已经存在
SELECT
您检索到的结果是电子邮件地址,而不是电子邮件域。您必须在“@”符号处拆分电子邮件地址才能获得域名:
if not line.startswith('From: '): continue pieces = line.split('@') # this is what you want org = pieces[1] cur.execute('SELECT count FROM Counts WHERE org = ? ', (org,))
说明:我们不是在每个空格处分割字符串(这是Python str.split()函数的默认行为),而是在'@'符号处分割字符串。因此,文本文件中的一行'From: name@email.com'将成为一个包含两部分的列表:['From: name', 'email.com']
str.split()
'@'
'From: name@email.com'
['From: name', 'email.com']
然后,您可以使用第二部分并跟踪该部分,希望代码能够正常工作
您没有从电子邮件中提取域。因此,同一域中的多封电子邮件被视为不同的组织
另外,您可能希望使用SQLite INSERT - ON DUPLICATE KEY UPDATE (UPSERT)中的代码,这样就不必执行
SELECT
查询来查看组织是否已经存在您检索到的结果是电子邮件地址,而不是电子邮件域。您必须在“@”符号处拆分电子邮件地址才能获得域名:
说明:我们不是在每个空格处分割字符串(这是Python
str.split()
函数的默认行为),而是在'@'
符号处分割字符串。因此,文本文件中的一行'From: name@email.com'
将成为一个包含两部分的列表:['From: name', 'email.com']
然后,您可以使用第二部分并跟踪该部分,希望代码能够正常工作
相关问题 更多 >
编程相关推荐