2017-10-04 4 views
0

J'ai un code pour créer des groupes avec des données CSV et créer de nouveaux fichiers avec ces groupes aussi! J'ai lu mon fichier csv et ensuite travailler avec ça. Le problème est quand mon funtion fonctionne et créer les nouveaux fichiers avec les données, le nom des nouveaux fichiers est le nom du groupe et je veux que ne pas:Enregistrer groupé par résultats dans des fichiers CSV séparés

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 

Pour être plus clair quand je finis Au programme, j'ai un fichier: 123456/8.csv et un autre 155444/8.csv et j'ai besoin de changer ce nom pour au_to.csv et cami_oneta.csv. Je sais que je devrais peut-grup par l'inventaire au lieu d'ID mais les noms de domaine Inventoory ont/et _ et j'ai une erreur:

Voici mon code:

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) 
+0

Qu'est-ce que vous essayez de grouper? Vous devez grouper _quelque chose_. –

+0

Parce que je ne connais pas d'autre chemin! @ cᴏʟᴅsᴘᴇᴇᴅ –

Répondre

0

Vous doit spécifiez une clause groupby, donc pandas sait ce que par groupe. Cela devrait fonctionner:

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

Hey Man, merci beaucoup !!!!! –