Итак, у меня есть 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()
Заранее спасибо:)