Рубрики
Без рубрики

Преобразовать DataFrame в довольно таблицу HTML и отправьте его по электронной почте

Мой первый пост в Dev.to. Я научился автоматизировать создание хороших таблиц HTML, используя красивые … Теги с Python, DevOps, HTML.

Мой первый пост в Dev.to. Я научился автоматизировать создание хороших таблиц HTML, используя Pretty-HTML-столик упаковка. Этот пакет очень хорошо встраивается с другими пакетами, используемыми для отправки электронных писем. В этом посте я собираюсь покрыть:

  1. Отправка электронного письма с помощью SMTP
  2. Конвертировать PandaS DataFrame в красивый HTML-таблица
  3. Отправка электронного письма с контентом HTML

Настройка SMTP для отправки электронной почты

Python поставляется со встроенным модулем SMTPLIB для отправки электронных писем, используя простую протокол передачи почты (SMTP). Я использовал Gmail SMTP-сервер для отправки электронных писем, но те же принципы применяются к другим электронным услугам. Gmail Gmail SMTP Gmail – это бесплатный SMTP-сервис, который имеет любой, кто имеет учетную запись Gmail, может использовать для отправки электронных писем.

from smtplib import SMTP
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart


def send_mail(body):

    message = MIMEMultipart()
    message['Subject'] = 'Top 5 Economies of the World!'
    message['From'] = '@gmail.com'
    message['To'] = '@gmail.com'

    body_content = body
    message.attach(MIMEText(body_content, "html"))
    msg_body = message.as_string()

    server = SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(message['From'], 'Unique password')
    server.sendmail(message['From'], message['To'], msg_body)
    server.quit()

Создайте dataframe

import pandas as pd


def get_gdp_data():
    """
    GDP data
    :return:
    """
    gdp_dict = {'Country': ['United States', 'China', 'Japan', 'Germany', 'India'],
                'GDP': ['$21.44 trillion', '$14.14 trillion', '$5.15 trillion', '$3.86 trillion', '$2.94 trillion']}
    data = pd.DataFrame(gdp_dict)
    return data

Конвертировать Pandas DataFrame в таблицу HTML

Красивый пакет таблицы HTML очень хорошо интегрирует с другими пакетами Python, используемой для отправки электронных писем. Просто добавьте результат этого пакета к корпусу электронной почты.

from send_email import send_mail
from get_data import get_gdp_data
from pretty_html_table import build_table


def send_country_list():
    gdp_data = get_gdp_data()
    output = build_table(gdp_data, 'blue_light')
    send_mail(output)
    return "Mail sent successfully."


send_country_list()

Выполнено! Восьмикат приведет вас к моему репозиторию GitHub …

Оригинал: “https://dev.to/siddheshshankar/convert-a-dataframe-into-a-pretty-html-table-and-send-it-over-email-4663”