Send pandas dataframe data as html e-mail
29,281
Solution 1
Finally found. This is the way it should be done.
filename = "test.html"
f = file(filename)
attachment = MIMEText(f.read(),'html')
msg.attach(attachment)
Solution 2
Pandas has a function for this.
This will give the the html code for the table, after which you can embed it into an email with:
df = DataFrame(data)
email = " some html {df} lah lah"
email = email.format(df=df.to_html())
Author by
Nilani Algiriyage
A PhD researcher at Massey, Wellington, New Zealand. Research Interests : Deep Learning, AI
Updated on January 04, 2020Comments
-
Nilani Algiriyage over 4 years
I want to send a pandas dataframe data as an HTML e-mail. Based on this post I could create an html with the dataframe. Code
import pandas as pd import numpy as np HEADER = ''' <html> <head> </head> <body> ''' FOOTER = ''' </body> </html> ''' df = pd.DataFrame([[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD')]).T with open('test.html', 'w') as f: f.write(HEADER) f.write(df.to_html(classes='df')) f.write(FOOTER)
Now I want to send this as a html e-mail. I tried this. Can not figure out how to attach the html file?
-
Dave about 8 yearsWondering if you can provide the full script for this?
-
johan855 about 7 years