【发布时间】:2020-01-10 12:07:25
【问题描述】:
我有一个生成 Outlook 电子邮件并使用属于该电子邮件地址的附件填充电子邮件的功能。
df = pd.DataFrame(data = {'E-mail': ['peter@gmail.com', 'peter@gmail.com', 'jake@gmail.com', 'jake@gmail.com'],
'Fruit': ['apple.pdf', 'pear.pdf', 'orange.pdf', 'banana.pdf']})
这是我的电子邮件功能。
def Email():
for i in df['E-mail'].unique():
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = i
mail.Subject = "Fruit reports"
for i,j in df.groupby('E-mail')['Fruit']:
files = j.to_frame(i)
for fil in files[i]:
attachment = dirLoc + '\\' + fil
mail.Attachments.Add(attachment)
mail.Display(False)
Email()
我的 for 循环有问题。它将所有附件从Fruit 而非apple.pdf 和pear.pdf 附加到peter@gmail.com 和orange.pdf 和banana.pdf 到jake@gmail.com。
是否有一种简单的解决方案可以将正确的附件分配给正确的电子邮件?
【问题讨论】:
标签: python pandas function for-loop outlook