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

如何将多个Excel工作表合并为单个Pandas DataFrame,表名作首列行号为次列

实现方案

依赖安装

如果尚未安装所需库,执行以下命令:
pip install pandas openpyxl

完整代码

import pandas as pd

# 替换为你的Excel文件实际路径
excel_path = "your_file.xlsx"

# 读取整个Excel工作簿
xls = pd.ExcelFile(excel_path, engine="openpyxl")
df_list = []

# 遍历所有工作表
for sheet_name in xls.sheet_names:
    # 读取当前工作表数据,默认第一行为表头;如果工作表无表头,可添加参数 header=None
    df = pd.read_excel(xls, sheet_name=sheet_name)
    # 插入工作表名称为第一列
    df.insert(0, "Sheet", sheet_name)
    # 插入工作表内行号为第二列,从1开始计数
    df.insert(1, "Row", range(1, len(df)+1))
    df_list.append(df)

# 合并所有工作表数据得到最终结果
final_df = pd.concat(df_list, ignore_index=True)

# 可选操作:打印前几行验证结果,或导出为新文件
print(final_df.head())
# final_df.to_excel("merged_result.xlsx", index=False)

补充说明

  • 行号默认统计的是每个工作表内的数据行序号,自动排除表头行,完全匹配你给出的预期格式
  • 不需要提前知晓所有工作表名称,代码会自动遍历工作簿内的全部工作表
  • 如果工作表无表头,读取时添加header=None参数即可,pandas会自动为列命名为0、1、2...,可后续自行修改列名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:18:01