首页 > 解决方案 > 在同一个excel文件中写入多个工作表

问题描述

我想编写存储在同一个 excel 文件中的不同工作表。即使我浏览了各种帖子,我也没有得到想要的结果。

基本上,我在一个循环中创建各种汇总统计数据并希望将它们存储起来。我的代码如下所示:

import pandas as pd 
import numpy as np


df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

writer = pd.ExcelWriter(r'Output.xlsx', engine='xlsxwriter')


for i in list(df): 
  summary=df.loc[:,i].describe()
  summary.to_excel (writer, sheet_name=i,startrow=1)
  summary.to_excel (writer, sheet_name=i,startrow=12)
  writer.save()

但是,运行代码后,只填充了工作表 A。

任何线索我错过了什么?

标签: pythonpandas

解决方案


save()该程序在循环中调用并因此关闭工作簿。将其移出循环,程序将按预期工作:

for i in list(df): 
  summary=df.loc[:,i].describe()
  summary.to_excel (writer, sheet_name=i,startrow=1)
  summary.to_excel (writer, sheet_name=i,startrow=12)

writer.save()

输出:

在此处输入图像描述


推荐阅读