遍历行,并使用最后一列中的电子邮件为每行发送一封电子邮件

2024-05-23 17:26:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框架,其中包含多个列,其中包含客户和顾问的财务和个人信息。每位客户都有一位财务顾问,其电子邮件位于最后一列

我面临的第一个问题是,不同的客户都有一个共同的财务顾问,因此我需要一个for循环,将所有客户分组到一封电子邮件中,以获得相应的财务顾问

另外,我只想选择几个列来发送信息,然后将其作为表格发送到财务顾问的电子邮件中

举例说明:

d = {'Name': [John, Sheila, Bryan], 'Product': [Treasury Bond, Treasury Bond, Treasury Bond], 'Quantity': [10,20,30] , 'Financial Advisor's Name':[ Jack, Jack, Claudia], 'Financial Advisor's Email': [jack@gmail.com,jack@gmail.com,claudia@gmail.com]}


    def create_message(send_from, send_to,subject, plain_text_body):
        sender_address = "sender@email.com"
        mail_content="This is a test message"
        for a, b, c, in zip(d['Name'], d['Product'], d['Financial Advisor's Name'], d['Quantity']):
            if 

            message = MIMEMultipart('alternative')
            message['From'] = send_from
            message['To'] = COMMASPACE.join(send_to)
            message['Cc'] = cc_to
            message['Subject'] = subject
            message.attach(MIMEText(plain_text_body, 'plain'))
            return message

如何将最后一列中的电子邮件分配给sender_address变量?以及如何使用If声明向财务顾问及其各种客户发送一封电子邮件


Tags: tonamecomsendmessagefor客户电子邮件
1条回答
网友
1楼 · 发布于 2024-05-23 17:26:31
# dummy function mimic send email function
def send_email(advisor_name, data):
    print('email to '+advisor_name)
    print(data)

# group the dataframe by Financial Advisor\'s Name
grouped = df.groupby(['Financial Advisor\'s Name'])


for advisor_name, group in grouped:
    # suppose we want to send the column Name and Product
    # advisor_name will give you the name of the advisor
    # group is the corresponding group
    send_email(advisor_name, group.loc[:,['Name', 'Product']])

相关问题 更多 >