Pandas send email containing dataframe as a visual table

前端 未结 1 716
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-06 02:35

Take this example:

df_1 = ([1,2,3,5])
df_2 = ([10,20,30,50])
df_test =pd.concat([pd.DataFrame(df_1),pd.DataFrame(df_2)],axis=1)

How can I s

相关标签:
1条回答
  • 2020-12-06 03:06

    Try:

    • Using str.format to append your DF html to the email body html.

    Ex:

    from email.mime.text import MIMEText
    from email.mime.application import MIMEApplication
    from email.mime.multipart import MIMEMultipart
    from smtplib import SMTP
    import smtplib
    import sys
    
    
    recipients = ['ToEmail@domain.com'] 
    emaillist = [elem.strip().split(',') for elem in recipients]
    msg = MIMEMultipart()
    msg['Subject'] = "Your Subject"
    msg['From'] = 'from@domain.com'
    
    
    html = """\
    <html>
      <head></head>
      <body>
        {0}
      </body>
    </html>
    """.format(df_test.to_html())
    
    part1 = MIMEText(html, 'html')
    msg.attach(part1)
    
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.sendmail(msg['From'], emaillist , msg.as_string())
    
    0 讨论(0)
提交回复
热议问题