发送自动邮件

时间:2019-05-02 16:12:48

标签: python

我正在创建自动邮件系统,我必须每天发送过滤后的excel值

我使用Pandas过滤了excel值并将其存储在状态中,而使用python发送邮件时却遇到了这样的错误

TypeError: sequence item 1: expected str instance, Series found

代码:

samples = pd.read_excel(excel_file,sheet_name=0)
status=samples.STATUS == "Need to Update"
msg=EmailMessage()
msg['Subject']='Limit Sample Management System'
msg['From']='abcd@gmail.com'
msg['To']='abcd@gmail.com'
msg.set_content("Kindly Go-Through the below mail",status)
mail=smtplib.SMTP("smtp.gmail.com",587)


mail.login('abcd@gmail.com','123')

mail.send_message(msg)

mail.close()

我只需要发送经过过滤的值

1 个答案:

答案 0 :(得分:0)

错误来自此行:

msg.set_content("Kindly Go-Through the below mail",status)

该错误告诉您statuspandas.Seriesmsg.set_content无法处理,必须将系列转换为字符串。
尝试使用

body = ' '.join(map(str, list(status))))
msg.set_content("Kindly Go-Through the below mail",body)

body是该系列中所有转换为字符串的值的串联(如果它们已经是字符串,则可以省略map函数)。