2017-04-19 49 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))