Как отформатировать HTML-таблицу с помощью Python - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь отформатировать HTML-таблицу в моем скрипте Python, а затем отправить ее по электронной почте. Таблица происходит от фрейма данных Pandas, который я затем сохранил в HTML с помощью функции .to_html().

from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
from smtplib import SMTProm email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
from smtplib import SMTP

# Save dataframe to html
df_final.to_html(r'Data/trend_report_word_3m_rolling.html',col_space = 20, index = False)

#read html
report_file = open(r'Data\trend_report_word_3m_rolling.html')
html_excel = report_file.read()

# Prepare to send email
part_html = MIMEText(html_report, 'html')

#Attach attachments to message
msg.attach(part)
msg.attach(part_html)

# Send the message via Henkel's SMTP server
with SMTP("") as smtp:
    smtp.send_message(msg)
    #print("The email was sent to: ",string_receiver)
    smtp.quit()

Насколько я понимаю, использование функции .read() только читает файл html, но не позволяет мне редактировать html? В конце я бы хотел, чтобы получатель письма видел таблицу с форматами (такими как цвета и конкретная ширина столбца).

Может быть, я должен сначала отформатировать мой фрейм данных, а затем сохранить его в HTML? Пожалуйста, задайте мне несколько вопросов, если мой метод неясен.

Спасибо.

1 Ответ

1 голос
/ 03 июня 2019

Вам нужен модуль шаблона HTML, такой как:

https://opensource.com/resources/python/template-libraries

или Усы (это простая и небольшая система шаблонов):

https://github.com/defunkt/pystache

...