Как отправить диаграмму, используя панд в Python? - PullRequest
0 голосов
/ 10 февраля 2019

Я хочу отправить отчет по электронной почте с графиками, без использования сюжета.Как я могу отправить диаграмму, созданную с помощью Pandas, по электронной почте?Вот мой код:

df = pd.DataFrame({'lab':eventID, 'val':counter})
ax = df.plot.bar(x='lab', y='val', rot=0)

email_body=ax

msg = MIMEMultipart('alternative')
msg['From'] = me
msg['To'] = recipient
msg['Subject'] = subject

msg.attach(MIMEText(email_body, 'html'))
server = smtplib.SMTP('smtp3.mycompany.com')
server.ehlo()
server.sendmail(me, recipient, msg.as_string())
server.close()

Что мне нужно добавить, чтобы это работало?

1 Ответ

0 голосов
/ 10 февраля 2019

Сюжет Pandas основан на matplotlib, поэтому он включает в себя вызов savefig('foo.png'), а затем присоединение foo.png к вашей электронной почте.

Шаг 1 (из здесь ):

fig = ax[0].get_figure()
fig.savefig("~/Desktop/foo.png")

Шаг 2 - цитирование непосредственно из руководства для Python email:

for file in pngfiles:
    # Open the files in binary mode.  Let the MIMEImage class automatically
    # guess the specific image type.
    fp = open(file, 'rb')
    img = MIMEImage(fp.read())
    fp.close()
    msg.attach(img)

Должно помочь вам в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...