作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
customer date x y z
1 10/7/2015 0:00 4 4
1 10/7/2015 1:00 5 9 1
1 10/9/2015 0:00 4 0 3
2 10/7/2015 0:00 8 8 4
2 10/7/2015 1:00 4 5
3 10/7/2015 0:00 1
3 10/7/2015 1:00 4 0
3 10/9/2015 0:00 4 0
在上表中,我想根据“客户”列创建 3 个文件夹(1、2、3),每个文件夹都应具有根据“日期”列创建的 csv 文件。注意:日期列应根据日期而不是时间进行分组。例如,文件夹 1 应有 2 个 csv 文件,分别为 1072015.csv(2 条记录)和 1092015.csv(1 条记录)
文件夹 2 应包含 2 个 csv 文件,每个文件 1 条记录。
最佳答案
您可以groupby
customer
,以及使用dt
访问器groupby
date
:
g = df.groupby(['customer', df.date.dt.date])
如果您的date
列不是日期时间,只需使用df['date'] = pd.to_datetime(df['date'])
首先。
现在您可以简单地循环遍历每个用户并日期到 create your folders和文件:
import os
for (user, date), group in g:
if not os.path.exists(str(user)):
os.makedirs(str(user))
fn = date.strftime('%m%d%Y')
group.iloc[:, 2:].to_csv(f'{user}/{fn}.csv', index=False)
结果如下所示:
test
├── 1
│ ├── 10072015.csv
│ └── 10092015.csv
├── 2
│ └── 10072015.csv
└── 3
├── 10072015.csv
└── 10092015.csv
3 directories, 5 files
以下是创建的文件的示例:
x,y,z
8,8.0,4.0
4,,5.0
关于python - 根据相应的列将数据框分割成文件夹和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504677/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!