Python 今天如何比赛';在数据框中输入日期并发送电子邮件
我正在学习如何使用熊猫来处理数据,我觉得这很酷也很有趣。我正在尝试建立一个自动电子邮件系统 但现在我有以下储备: 这个问题涉及到我的一个老问题 这是may数据集的外观: 我想检查来自的Python 今天如何比赛';在数据框中输入日期并发送电子邮件,python,pandas,email,dataframe,Python,Pandas,Email,Dataframe,我正在学习如何使用熊猫来处理数据,我觉得这很酷也很有趣。我正在尝试建立一个自动电子邮件系统 但现在我有以下储备: 这个问题涉及到我的一个老问题 这是may数据集的外观: 我想检查来自的datatime\u是否是今天,如果是真的,请获取该行的电子邮件地址并发送电子邮件消息。我使用pandas作为数据帧,我的想法是使用smtplib发送电子邮件,但我愿意使用其他库 以下是我到目前为止的代码: import smtplib import pandas def send_me_email():
datatime\u是否是今天,如果是真的,请获取该行的电子邮件地址并发送电子邮件消息。我使用pandas作为数据帧,我的想法是使用smtplib发送电子邮件,但我愿意使用其他库
以下是我到目前为止的代码:
import smtplib
import pandas
def send_me_email():
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login('xxx@gmail.com', 'xxxxxxx')
msg = "YOUR MESSAGE!"
server.sendmail("YOUR EMAIL ADDRESS", "THE EMAIL ADDRESS TO SEND TO", msg)
server.quit()
msg = "YOUR MESSAGE!"
server.sendmail("xxx@gmail.com", "xxx@gmail.com", msg)
server.quit()
csv = pandas.read_csv('testfile.csv', delimiter=',')
#csv['datetime_from'].dtype
csv['datetime_from'] = pandas.to_datetime(csv['datetime_from'], errors='coerce')
#csv['datetime_from'].dtype
today_date = pandas.datetime.today().date()
csv2 = csv['datetime_from'].dt.date == today_date
csv['datetime_from'].where(csv).apply(send_me_email())
这是不正确的工作,我无法想出它如何抓住所有的实际日期对应的电子邮件地址,并发送电子邮件给这些人。随着每天新的输入,数据文件将不断增长
任何想法都将不胜感激。您需要使用获得的掩码为数据帧编制索引:
csv2 = csv[csv['datetime_from'].dt.date == today_date]
此外,您的send\u me\u email
必须采用df.apply
传递给它的参数:
def send_me_email(email):
...
此参数是电子邮件。确保修改函数体以相应地处理它
现在可以使用df.apply应用函数。不要调用你的函数。您必须传递它(不带()
):
您需要使用获得的掩码为数据帧编制索引:
csv2 = csv[csv['datetime_from'].dt.date == today_date]
此外,您的send\u me\u email
必须采用df.apply
传递给它的参数:
def send_me_email(email):
...
此参数是电子邮件。确保修改函数体以相应地处理它
现在可以使用df.apply应用函数。不要调用你的函数。您必须传递它(不带()
):
谢谢你的回答。这正是我的问题,如何才能发送所有受影响行的电子邮件。我理解它背后的逻辑,但我在“发送电子邮件”功能中遗漏了一些东西。我尝试了“to_email=csv2.ix[:,7]”和“server.sendmail(”andres@gmail.com“,to_email,msg)”在“发送我的邮件”功能中,但它不起作用。如果您对此有任何帮助,我将不胜感激,如何创建该功能:def send_me_email(email):send=email。。。。这样我就可以将项目从数据帧传递到function@El_Patr就像我说的,函数接受一个参数,即收件人电子邮件。您所需要做的就是编写代码,使其发送到该地址。谢谢您的回答。这正是我的问题,如何才能发送所有受影响行的电子邮件。我理解它背后的逻辑,但我在“发送电子邮件”功能中遗漏了一些东西。我尝试了“to_email=csv2.ix[:,7]”和“server.sendmail(”andres@gmail.com“,to_email,msg)”在“发送我的邮件”功能中,但它不起作用。如果您对此有任何帮助,我将不胜感激,如何创建该功能:def send_me_email(email):send=email。。。。这样我就可以将项目从数据帧传递到function@El_Patr就像我说的,函数接受一个参数,即收件人电子邮件。您所需要做的就是编写代码,使其发送到该地址。