2017-04-19 104 views
1

我有一個很大的CSV文件(超過7milion記錄)30列,其中的一些列數據是幾個月的短代碼,例如「ORD」或數字1到12 。 我想寫一個循環,將分這個csv文件在給定的關鍵較小的,例如我想創建一個名稱12CSVs作爲個月的密鑰(這意味着my_csv_1.CSV,my_csv_2.CSV等)或每碼(my_csv_code1.CSV,my_csv_code2.CSV等)分割數據框中用鑰匙

這裏是我的嘗試:

for i in range(1,len(my_csv.Month.unique())+1): 
    my_csv_i = my_csv[(my_csv['Month'] == i) | (my_csv['Month']==i)] 
    my_csv_i.to_csv 

回答

1

您可以使用groupby

for k,g in df.groupby('Month'): 
    g.to_csv('my_csv_{}.csv'.format(k))