首页 > 解决方案 > Excel Writer Python为DataFrame中的每一行/索引单独工作表

问题描述

我有一个包含 14 列和大约 300 行的数据框。我想要做的是创建一个带有多张工作表的 xlsx,每张工作表都包含一行主数据框。我之所以这样设置它,是因为我想每天将同一行的新实例附加到这些单独的工作表中,以查看唯一行的列值如何随时间变化。这是一些代码。

tracks_df = pd.read_csv('final_outputUSA.csv')
writer2 = pd.ExcelWriter('please.xlsx', engine='xlsxwriter')

for track in tracks_df:
    tracks_df.to_excel(writer2, sheet_name="Tracks", index=False, header=True)

writer2.save()
writer2.close()

现在这只是输出与我正在读入的 csv 完全相同的格式。我知道我需要根据索引值动态更改 sheet_name,我希望每个sheet_name=df['Col1']工作表都有。如何为数据框中的每一行输出带有单独工作表的 xlsx?

标签: pythonexcelpandasdataframeindexing

解决方案


尝试这个:

writer2 = pd.ExcelWriter('please.xlsx', engine='xlsxwriter')
df.apply(lambda x: x.to_frame().T.to_excel(writer2, sheet_name=x['Col1'].astype('str'), index=True, header=True), axis=1)
writer2.save()
writer2.close()

推荐阅读