我有一个 Dataframe ,看起来像这样:
print(df)
city Year ville Asset_Type Titre psqm
0 Agadir 2010.0 Agadir Appart 3225 6276.923077
1 Agadir 2010.0 Agadir Maison_Dar 37 8571.428571
2 Agadir 2010.0 Agadir Villa 107 6279.469027
3 Agadir 2011.0 Agadir Appart 2931 6516.853933
4 Agadir 2011.0 Agadir Maison_Dar 33 9000.000000
... ... ... ... ... ... ...
669 Tanger 2020.0 Tanger Maison_Dar 134 13382.653061
670 Tanger 2021.0 BeniMakada Appart 67 5555.555556
671 Tanger 2021.0 BeniMakada Maison_Dar 4 14533.492823
672 Tanger 2021.0 Tanger Appart 160 6148.338940
673 Tanger 2021.0 Tanger Maison_Dar 12 13461.538462
将 Dataframe 保存到Excel工作表中非常简单
df.to_excel(path_to_output+'df.xlsx')
我想把每个城市的输出(city
列)保存在同一个excel文件的不同工作表中。我该怎么做呢?我不确定我是否需要提前手动创建工作表,然后在每个工作表上循环,还是动态创建(通过python)?
谢谢你的帮忙
3条答案
按热度按时间hmmo2u0o1#
这是一种更像潘达斯的方式来做与@kaispace30098相同的事情,但是应该更快,因为我们不对每个组进行迭代。
先是代码,然后是解释
1.我们使用
with... as...
语法创建一个writer,因为它会在我们完成时自动关闭文件,否则您将不得不稍后手动关闭。1.由于您希望按城市对每个表进行分组,因此我们使用
.groupby('city')
进行分组1.然后,我们将函数应用于具有
.apply()
的每个组,其中,我们将每个组转换为具有组的名称(即,城市的名称)的Excel写入。b5lpy0ml2#
通过使用 Dataframe 中的查询循环每个唯一城市,在每个循环中使用.to_excel函数
要将不同工作表存储到一个Excel中,请尝试:
yws3nbqq3#
这段代码对我很有效,它把每个城市都输出到一个单独的excel表格中。