按结果分组保存到单独的CSV文件中

时间:2017-10-04 02:45:02

标签: python pandas csv group-by pandas-groupby

我有一个包含CSV数据的创建组的代码,并且也创建了包含这些组的新文件!

我读了我的csv文件,然后使用它。问题是当我的功能工作并使用数据创建新文件时,新文件的名称是组的名称,我不希望这样:

ID           Inventory    Domain                   Requests   Impressions      Fill Rate
123456       au_to/8         neighborhoodscout.com      11402        26            0.23
123456       au_to/8         sinembargo.mx              10334        24            0.23
123456       au_to/8         elsalvadortimes.com        9893         17            0.17
155444       cami_oneta/8    thealternativedaily.com    51389        81            0.16
155444       cami_oneta/8    heywise.com                45578       135            0.3
155444       cami_oneta/8    wis.pr                     28792        69            0.24

为了更清楚当我完成程序时,我有一个文件:123456 / 8.csv和另一个155444 / 8.csv,我需要将此名称更改为au_to.csv和cami_oneta.csv。我知道也许我应该通过库存而不是ID,但Inventoory字段的名称有/和_我有一个错误:

AttributeError: 'function' object has no attribute 'join'

这是我的代码:

import pandas as pd

df = pd.read_csv("Tags para Mandar WL.csv",  header=0,  sep = ",")
for group in df.groupby.join(df["ID"]):
    group[1].to_csv("{}.csv".format(group[0]), sep=',', index=False)

1 个答案:

答案 0 :(得分:2)

必须指定groupby子句,因此pandas知道要分组的。这应该有效:

for i, g in df.groupby('Inventory'):
     g.to_csv('{}.csv'.format(i.split('/')[0]), index=False)