我是一个python新手,我想创建一个程序,它可以根据三个因素来判断电子邮件是否是垃圾邮件。
主题(如果为空,则为垃圾邮件),发件人(例如,我只需要电子邮件地址以'.com,
'结尾的人,否则为垃圾邮件)和日期(我只需要非周末的电子邮件,否则为垃圾邮件)。
我做了主题部分,它很成功。
代码附在下面。但是我需要帮助发件人和日期部分。
import pandas as pd
ExcelFile = pd.read_excel(r'C:UsersEmail Table.xlsx')
Subject = pd.DataFrame(ExcelFile, columns=['Subject'])
def spam(Subject):
df_multiindex = ExcelFile.set_index(['Subject'])
n = len(df_multiindex)
for x in range(n):
if ((pd.isnull(ExcelFile.loc[x, 'Subject'])) == True):
print("Spam")
else:
print("not spam")
spam(Subject)
您没有提供邮件地址的格式/类型,所以这只是一个想法。检查发件人地址是否以".com":
结尾if address.endswith(".com"):
print("Spam")
else:
print("not spam")
您也没有提供日期如何格式化的信息。给定一个unix时间戳,它将像这样工作:
from datetime import datetime
ts = 1652734079
dt_object = datetime.fromtimestamp(ts)
# Check if weekday is saturday/sunday
if dt_object.weekday() in [5, 6]:
print("Spam")
else:
print("not spam")