You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas分组后导出Excel丢失分组列问题求助

解决分组后导出Excel丢失"Stok Kodu"列的问题

问题根源

执行df.groupby(["Stok Kodu"]).sum()后,"Stok Kodu"会被设为DataFrame的索引,不再是普通数据列。而你的导出代码里设置了index=False,后续添加表格时也没处理索引列,最终导致这一列在Excel中消失。


方案一:分组时保留"Stok Kodu"为数据列

在groupby中添加as_index=False参数,让分组键保持为普通列,无需额外处理索引:

import pandas as pd
df=pd.read_excel('siparislerr.xlsx')
# 新增as_index=False,确保Stok Kodu作为普通列存在
df = df.groupby(["Stok Kodu"], as_index=False).sum(numeric_only=True)
df = df.sort_values("Miktar", ascending=False)

writer = pd.ExcelWriter("pandas_table21.xlsx", engine='xlsxwriter')
# 这里index=False可以保留,因为Stok Kodu已经是数据列
df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False)

workbook = writer.book
worksheet = writer.sheets['Sheet1']
(max_row, max_col) = df.shape
# 把Stok Kodu加入表格表头配置
column_settings = [{'header': 'Stok Kodu'}] + [{'header': header} for header in df.columns[1:]]
worksheet.add_table(0, 0, max_row, max_col -1 , {'columns': column_settings})
worksheet.set_column(0, max_col - 1, 12)
writer.save()

方案二:保留索引,导出时包含索引并调整表格配置

如果不想修改分组逻辑,就需要在导出时写入索引列,同时调整表格的列配置:

import pandas as pd
df=pd.read_excel('siparislerr.xlsx')
df = df.groupby(["Stok Kodu"]).sum(numeric_only=True)
df = df.sort_values("Miktar", ascending=False)

writer = pd.ExcelWriter("pandas_table21.xlsx", engine='xlsxwriter')
# 修改index=True,将索引列写入Excel
df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=True)

workbook = writer.book
worksheet = writer.sheets['Sheet1']
# 列数需要加上索引列的1位
(max_row, max_col) = df.shape
max_col += 1
# 添加索引列的表头,再拼接原有列的表头配置
column_settings = [{'header': 'Stok Kodu'}] + [{'header': header} for header in df.columns]
worksheet.add_table(0, 0, max_row, max_col -1 , {'columns': column_settings})
worksheet.set_column(0, max_col - 1, 12)
writer.save()

额外提示

  • 建议添加numeric_only=True参数,避免对非数值列执行求和操作引发意外错误;
  • 两种方案均可解决列丢失问题,根据个人习惯选择即可。

内容的提问来源于stack exchange,提问作者barbudos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:40:15