繁体   English   中英

python:根据日期将csv拆分为多个csv

[英]python: split csv into multiple csv based on date

我正在努力根据date从单个 csv 文件创建多个 csvs。

我有一个非常大的 csv 文件的以下示例:

cid      date       pos 
11  2020-01-04  29
11  2020-01-05  29
11  2020-01-06  29
11  2020-01-07  29
11  2020-01-08  29
11  2020-01-09  29
11  2020-01-10  29
12  2020-01-04  31
12  2020-01-05  31
12  2020-01-06  31
12  2020-01-07  31
12  2020-01-08  31
12  2020-01-09  31
12  2020-01-10  31

cidpos可以是任何东西,也有其他列。

我需要的是从这个master.csv创建多个 csv,例如:

2020-01-04.csv包含来自 master.csv 的所有列数据和日期列2020-01-04

然后2020-01-05.csv包含来自 master.csv 的所有数据,日期列2020-01-05等等。

我试过的:

df = pd.read_csv('path/master.csv')
cols = df.columns

df['date'] = df['date']

for i in set(df.date):
    filename = "path/"+i+".csv"
    df.loc[df.date == i].to_csv(filename,index=False,columns=cols)

用:

df = pd.read_csv('path/master.csv')

for i in set(df['date']):
    df.loc[df['date'] == i].to_csv(f"path/{i}.csv",index=False)

或者:

df = pd.read_csv('path/master.csv')    

for i, g in df.groupby('date'):
    g.to_csv(f"path/{i}.csv",index=False)
            

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM