我正在尝试使用python将每月的万事达卡对帐单加载到我的企业的csv文件中。然后创建一个程序,以发送内部逐项语句以根据每个用户当月的支出发送给每个用户。如何根据卡号写入多个.csv文件。
我是编程的新手,所以我不确定如何写入多个csv文件。我可以做一个文件,但是我不确定如何进行下一步。
import pandas as pd
import csv
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)时,会显示以下信息
cardnumber,name,email,total,merchant_name,posted_amount
0001,user1,user1@email.com,1531,merchant 1,1530
merchant 2,1531
0002,user2,user2@tmail.com,500,merchant 5,200
merchant 6,250
merchant 7,50
如何编写多个csv文件,以每个卡号或名称分隔?我在这方面还比较陌生,所以如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
假设cardnumber
是唯一的,并且您的数据框不会太大:
只需遍历所有卡号,然后为特定卡过滤DataFrame
。为每个用户分组。然后,将输出保存到例如"Card Data for 0001.csv"
for cn in df.cardnumber.values:
df_user = df[df.cardnumber == cn]
# Do your grouping here:
# ...
path = "Card Data for " + cn + ".csv"
df_user.to_csv(path)
请记住,如果您的数据框包含例如50,000个卡号,此代码将创建50,000个文件。