Я читаю файл с amazon S3, затем выполняю некоторые манипуляции с данными в пандах и затем отправляю автоматическое письмо.Имя файла всегда переименовывается одинаково.
Я пытаюсь преобразовать dataframe
modelput в файл xls и прикрепить его в электронном письме
Как это исправить
Мой код
import os
import boto3
import pandas as pd
from sagemaker import get_execution_role
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
from email import encoders
import base64
role = get_execution_role()
bucket='cotydata'
input_date='20190411'
data_key = 'modeloutput'+'.csv'
data_location = 's3://{}/{}'.format(bucket, data_key)
output_key='UI_'+input_date
output_bucket='model-output-ui'
# Insert weather api key here
api_key= 'key'
#read modeloutput and prepare dataframe
modeloutput = pd.read_csv(data_location)
modeloutput['Lane_Score'] = modeloutput['FLAG']=='Y'
modeloutput['Lane_Score']modeloutput.groupby(['ORG','DSTN']).Lane_Score.transform('mean')
df = modeloutput.to_excel("Outpout.xls")
# create message object instance
msg = MIMEMultipart()
password = "456621"
msg['From'] = "jmie@gmail.com"
msg['To'] = "rahul@gmail.com"
msg['Subject'] = "Dialy Report"
msg = MIMEMultipart('mixed')
filename = df
# Read a file and encode it into base64 format
fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent) # base64
# Define the attachment section
part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s
%s
--%s--
""" %(filename, filename, encodedcontent)
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
# Login Credentials for sending the mail
server.login(msg['From'], password)
server.sendmail(msg['From'], msg['To'], msg)
Как я могу это исправить.