Estou tentando escrever um código usando as bibliotecas win32com e pandas para enviar e-mail personalizados com anexos únicos e ao tentar rodar o código aparece o seguinte erro "FileNotFoundError: [Errno 2] No such file or directory:"
O caminho do arquivo está correto, o que estou tentando fazer é que ele busque o nome do arquivo na planilha de excel (para cada respectivo e-mail tem um arquivo diferente) e add ao caminho, mas ele está adicionando só a primeira letra da linha da planilha.
import win32com.client
import pandas as pd
import glob
for file in glob.glob(r"C:\Users\User\Documents\EDF\Ponto\*.pdf"):
print(file)
file = pd.ExcelFile(
r'C:\Users\User\Documents\Python projetos\excel_file_emails_teste_anexos.xlsx')
df = file.parse('Planilha1')
for index, row in df.iterrows(): # Loops through each row in the dataframe
email = (row['Email Address'])
subject = (row['Subject'])
body = str((row['Email HTML Body']))
attachment = (row['AttachmentPath'])
PATH = "C:\\Users\\User\\Documents\\EDF\\Ponto\\"
if (pd.isnull(email) or pd.isnull(subject) or pd.isnull(body)):
continue
for i in range(len(email)):
print(file)
email = email[i]
attachment = attachment[i]
attachment1 = PATH + attachment
with open(attachment1, 'r') as my_attachment:
myfile = my_attachment.read()
olMailItem = 0x0 # Initiates the mail item object
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = subject
newMail.HTMLbody = (r"" +
body +
"")
attachment= (r'C:\Users\User\Documents\EDF\Ponto')
newMail.Attachments.Add(attachment)
newMail.To = email
newMail.display()
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\User\Documents\EDF\Ponto\a'