Отформатируйте таблицу Pandas DataFrame, чтобы она выглядела лучше - PullRequest
1 голос
/ 18 июня 2019

Итак, у меня есть Excel с новым списком сотрудников.Я использую Panda, чтобы просмотреть список и проверить, есть ли сотрудник, который начинает работать менее чем за 7 дней.Если есть, он отправляет электронное письмо со списком сотрудников.

Проблема в том, что, когда я получаю электронное письмо, это выглядит не очень хорошо. Пример

Я не уверен, как отформатировать его, чтобы он выглядел лучше.Я предполагаю, что стол будет в порядке.По сути удалите столбец ** и, если возможно, добавьте к числу слово "days".

Это мой код в ссылке, если это более удобно

Вот оно в формате:

import pandas as pd
import datetime as dt
import smtplib

def sendEmail():
    sender = 'DanielScript@domain.com'
    receivers = ['domain@domain.com']

    # message = "Hi, here is a list of the people who will start working here soon \n**{}** \n\nDaniel".format(close_delta)
    message = """From: Daniel's Script <DanielScript@domain.com>
    To: Anyone who forgot
    Subject: New Employees Reminder

    Hi, here is a list of the people who will start working here soon: \n**{}** \n\nYou're welcome\nDaniel Beiin
    """.format(close_delta)
    try:
        smtpObj = smtplib.SMTP('smtpserver')
        smtpObj.sendmail(sender , receivers, message)         
        print("Successfully sent email")
    except SMTPException:
        print ("Error: unable to send email")

xls = pd.ExcelFile(r'users.xlsx')
df = pd.read_excel(xls, 'New Employment')
df['Start Date'] = pd.to_datetime(df['Start Date'])
today = pd.Timestamp.today()

#Calculate how many days are left til the employee starts working
df['Starts In'] = (df['Start Date'] - today).dt.days
delta_df = df[['Name', 'Starts In']]
close_delta = delta_df[delta_df['Starts In'] < 7]
close_delta = delta_df[delta_df['Starts In'] > 0]
if len(close_delta) > 0:
    sendEmail()

Заранее спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...