将数据框拆分为多封电子邮件

时间:2019-07-17 18:56:55

标签: python python-3.x pandas

我正在尝试建立一个程序,通过该程序可以通过电子邮件将逐项声明发送给我们公司的每个信用卡用户。我已经在使用熊猫中做到了这一点,并将原始数据分组到我需要的方式中。我希望能够将唯一的金额发送给每个收件人。我不确定下一步要去哪里

这是我到目前为止所拥有的。

import pandas as pd
df = pd.read_csv("/users/user/documents/data.csv")
df['Total'] = df.groupby('Card Number')['Posted Amount'].transform('sum')
body = df.groupby(['Card Number','Cardholder Name','Email','Total','Merchant 
     Name'])['Posted Amount'].agg('sum')
print(body)

此后我得到一张表,内容如下:

1234,billy,billy@test.com,500,paypal,50
                              ebay**,25
                              paypal,175
                              amazon,250
1235,Jim,Jim@test.com,500,paypal,25
                          ebay**,50
                          paypal,250
                          amazon,175

等等...等等...

我知道我可以将其设置为HTML格式,但是如何根据每个用户的支出向他们发送个性化电子邮件?我想将总金额设置为每个持卡人金额的主题。然后在正文中包括商家名称和过帐金额。最好的分解方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用Jinja。创建一个Jinja模板,并将您的df作为具有所需逻辑的字典(df.to_dict)传递:

例如Templete(email_template.eml)和Terek Ziade的Python微服务开发中的代码

....

]);
echo "New record created. Last ID: " . $last_id;

$stmt = $conn->prepare( ' INSERT INTO `Table2` (`num`, `user`) VALUES (:num, :user  ) ' );

$stmt->execute(['num' => "NUM{$last_id}", 'user' => $_POST['user']]);

    //commit the changes
    $conn->commit();
}catch(PDOException $e){

....

代码:

Date: {{date}} 
From: {{from}} 
Subject: {{subject}} 
To: {{to}} 
Content-Type: text/plain 

Hello {{name}}, 

We have received your payment! 

Below is the list of items we will deliver for lunch: {% for item in items %}- {{item['name']}} ({{item['price']}} Euros) {% endfor %} 

Thank you for your business!

-Tarek's Burger