Я отправляю письмо, читая файл Excel, используя панд в качестве фрейма данных. Затем я конвертирую этот фрейм данных, используя df.to_html со стилем CSS. Ниже приведен мой код.
from email.mime.text import MIMEText
import email.message
import numpy as np
import pandas as pd
import email
import smtplib
import xlrd
filename = 'exl_sheet.xls'
df = pd.read_excel(filename)
html_string = '''
<html>
<head><title>HTML Pandas Dataframe with CSS</title></head>
<link rel="stylesheet" type="text/css" href="df_style.css"/>
<body>
{table}
</body>
</html>.
'''
df_html = html_string.format(table=df.to_html(classes='mystyle'))
sender = "sender@gmail.com"
receiver = "receiver@gmail.com"
password = 'xxxxxxxxx'
server = 'smtp.gmail.com:587'
msg = email.message.EmailMessage()
msg['Subject'] = 'Train Data'
msg['From'] = sender
msg['To'] = receiver
msg = MIMEText(df_html, 'html')
print(msg)
server = smtplib.SMTP(server)
server.ehlo()
server.starttls()
server.login(sender, password)
server.sendmail(sender, receiver, msg)
server.quit()
Вывод команды print (msg):
введите описание изображения здесь
Однако сообщение IЯ получаю, как показано ниже:
введите описание изображения здесь
То есть я не получаю таблицу со стилем. Пожалуйста, предложите.