python - python:根据日期将csv拆分为多个csv
问题描述
我正在努力从基于 .csv 的单个 csv 文件创建多个 csv date
。
我有一个非常大的 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
cid
and可以是任何东西,pos
还有其他列。
我需要的是从这样创建多个 csv master.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)
推荐阅读
- visual-studio-2019 - Visual Studio 2019 - Angular 9.1.9 - 没有实时重新加载
- javascript - google fitBounds 无法按预期工作
- google-cloud-dataflow - 状态和输出的原子性
- android - Kotlin 1.4 是否放弃对 Coroutine Actors 的支持
- python - python中隔离林是否必须设置污染值?
- python - 导入 python 模块时没有这样的文件或目录。文件肯定存在于同一路径中
- laravel - 使用两个数据透视表在 laravel 中获取多对多关系的数据
- console - 如何在 Google 控制台上将包名称更改为小写?
- ios - SwiftUI:[未知进程名称] CGAffineTransformInvert:奇异矩阵错误
- json - Spring Api 从响应中删除空字段