如何将每组行(在DataFrame中)保存在单独的Excel文件中?

How to save each group of rows (in a DataFrame) in separate Excel files?

提问人:SOURA ELLE 提问时间:11/14/2023 最后编辑:SOURA ELLE 更新时间:11/15/2023 访问量:86

问:

我有一个包含多列的 Excel 文件。并且某些列具有过滤器(具有多个选择的下拉列表)。我想根据这样的列制作 Excel 文件: 列 : x , y , z , t , date , hour 注意:在 DATE 和 HOUR 列中,我们进行多项选择。例如,列 HOUR,具有 00:00 、 1:00 、 2:00 、 3:00、 4:00 和 .......... 等筛选器

我正在寻找的是根据具有以下条件的行创建新的 Excel 文件: newExcel1:日期 1,小时 00:00


newexcel2:日期 1,小时 1:00


newExcel3:日期 1:小时 2:00


...............................


newExcel24:第1天 23:00


newExcel25:第 2 天 00:00

Python 熊猫 Excel

评论


答:

3赞 Corralien 11/14/2023 #1

尝试使用以下命令对列进行循环:Day-Hourgroupby

# Read your excel file
df = pd.read_excel('data.xlsx')

# Postprocessing here (rename columns, etc)
...

# Export data in multiple files
for idx, (ts, subdf) in enumerate(df.groupby('Day-Hour'), 1):
    subdf.to_excel(f'newExcel{idx}.xlsx', index=False)

评论

0赞 SOURA ELLE 11/14/2023
解决.....但我有一个问题:什么是 IDX、TS???
0赞 Corralien 11/14/2023
只是您定义的一些变量,枚举返回一个包含计数(此处为 1)的元组和 groupby 返回的值,groupby 也是一个迭代器。 将包含所有唯一值和筛选的数据帧(如 Excel)。tsDay-Hoursubdf
0赞 SOURA ELLE 11/14/2023
“idx”和“ts”是 tou 自己定义的值吗?
0赞 Corralien 11/14/2023
是的,它是。选择所需的名称。如果您愿意,请替换为 或 。这是一个简单的循环。idxitsgroup_name