我正在创建自动邮件系统,我必须每天发送过滤后的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()
我只需要发送经过过滤的值
答案 0 :(得分:0)
错误来自此行:
msg.set_content("Kindly Go-Through the below mail",status)
该错误告诉您status
是pandas.Series
。 msg.set_content
无法处理,必须将系列转换为字符串。
尝试使用
body = ' '.join(map(str, list(status))))
msg.set_content("Kindly Go-Through the below mail",body)
body
是该系列中所有转换为字符串的值的串联(如果它们已经是字符串,则可以省略map
函数)。