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

使用Python与Pandas实现Excel横向表转纵向表的方法咨询

Python实现Excel复合表头宽表转长表方案

你要实现的是典型的复合表头宽表转长表操作,用pandas库即可快速完成,步骤如下:

  • 先安装依赖库
    执行命令 pip install pandas openpyxl,其中openpyxl用于读写xlsx格式的Excel文件。
  • 核心转换代码如下:
import pandas as pd

# 读取原始Excel文件
# header=[0,1]表示取文件前两行作为多级列名,第一级是日期,第二级是指标名
# index_col=0表示将第一列Route作为行索引
df = pd.read_excel("你的原始文件路径.xlsx", header=[0, 1], index_col=0)

# 堆叠多级列:将第一级列(日期)转换为行维度,得到长表结构
df_long = df.stack(level=0).reset_index()

# 自定义列名,可根据实际需求调整
df_long.columns = ["Route", "日期", "DO", "DP", "Case", "Timing"]

# 可选:将日期列转换为标准格式,适配你原始的01-Jan-21格式
df_long["日期"] = pd.to_datetime(df_long["日期"], format="%d-%b-%y")

# 导出结果到新Excel
df_long.to_excel("转换后的纵向表.xlsx", index=False)
  • 常见场景调整
    如果读取出来的列顺序不对,可在导出前手动调整columns的顺序;如果原始Excel有空值,可根据需求用df_long.dropna()或者df_long.fillna(0)做预处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:24:02