使用python循环在一个数据帧的一个excel工作簿中创建多个excel表

雨123

我有一个如下的数据框:

user = pd.DataFrame({'User':['101','101','101','102','102','101','101','102','102','102'],'Country':['India','Japan','India','Brazil','Japan','UK','Austria','Japan','Singapore','UK'],'Count':[50,1,2,5,6,89,10.9,10,5,6]})

我想要的结果是使用循环从上面的数据框中为每个“用户”在一个 Excel 工作簿中创建多个 Excel 工作表。例如:

用户 101 将位于名为“101”的工作表中,而用户 102 将位于同一工作簿内名为“102”的工作表中。

我尝试使用下面的代码循环,但它只循环第一个用户 101。

for user in user['User'].unique():
    path = r"C:\Users\Desktop\df_user.xlsx"
    writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
    user[user['User'] == user].to_excel(writer, sheet_name = f"{user}")
    writer.save()
    writer.close() 
耶斯列

groupby对象循环并保存到相同的 excel 文件:

with pd.ExcelWriter('output.xlsx') as writer:
    for i, g in user.groupby('User'):
        g.to_excel(writer, sheet_name=i, index=False)

如果有必要删除列User

with pd.ExcelWriter('output.xlsx') as writer:
    for i, g in user.groupby('User'):
        g.drop('User', axis=1).to_excel(writer, sheet_name=i, index=False)

在您的解决方案中,有必要更改for user in user['User'].unique()for u in user['User'].unique()避免覆盖 DataFrame 变量user,还定义writer更好的循环外以避免覆盖 excel 文件:

path = "df_user.xlsx"
writer = pd.ExcelWriter(path, engine = 'xlsxwriter')
for u in user['User'].unique():
    user[user['User'] == u].to_excel(writer, sheet_name = f"{u}", index=False)
writer.save()
writer.close() 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我正在尝试使用循环将主工作簿中的一个 Excel 工作表中的数据粘贴到最多 30 个其他工作簿中

使用for循环或lapply从一个数据帧中的选择列创建多个ggplots

将来自不同文件的多个Excel工作表导入python,并将它们连接到一个数据帧中

使用R将多个数据框导出到一个Excel工作表

如何使用 Python 将数据从一个 Excel 工作表复制到同一工作簿的另一个工作表?

Excel VBA 使用最后一个工作表中的数据创建一个新工作表

如何从循环中的另一个数据帧创建多个数据帧

循环从一个数据帧在matplotlib中创建多个图?

使用openpyxl将工作表从excel文件移动到一个工作簿中

使用for循环从一个基于off的值创建多个数据帧

使用 for 循环从一个数据帧创建多个样本

如何使用For循环语句从4个数据帧中创建相似列的一个数据帧

如何合并多个Excel xlsm文件和一个数据集中的多个工作表?

创建一个循环或函数来收集使用r?中另一个数据帧中的一个数据帧中的其他列值计算的多个向量的值。

如何在R中的一个csv excel文件的多个工作表中写入多个数据框?

在Matlab中将多个数据集导出到一个Excel工作表

Excel 2010-根据工作簿中另一个工作表的数据自动填充工作表

如何将多个 Excel 工作表迁移到一个主工作簿

如何保留一个excel工作簿或工作表中的数据更改历史记录到另一工作簿或工作表的历史记录

excel链接到同一工作簿中的另一个工作表

excel VBA,在将多个CSV文件复制到一个工作簿中的单元格中创建带有工作表或文件名的列

将 12 个工作簿中的数据副本创建到一个主 Excel 2013 中

将许多python pandas数据帧放入一个Excel工作表

使用宏将3个以上的Excel工作表合并到一个工作簿中

Alasql-如何在一个工作簿中创建多个工作表?

如何将一个文件夹中的多个 Excel 工作簿中除工作表 1 和工作表 2 之外的所有工作表复制到另一个工作簿中

在没有 For 循环的情况下,使用 Python 中另一个数据帧的条件更新一个数据帧中的列

从另一个工作簿中的另一个工作表上对工作簿中的excel工作表执行筛选宏

将多个工作簿中的数据复制并粘贴到另一个工作簿中的工作表中