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

如何用Excel或Python pandas将多列数字合并为单列并保留对应列名?

多列数字整合为单列(保留原列名)实现方案

需求为将多列存储的数字转换为单列排布,每个数字单独占一行,同时保留数字对应的原列列名,以下分别提供Excel零代码实现方案、Python pandas代码实现方案:

方案一:Excel 实现

两种常用操作路径,任选其一即可:

路径1:全版本通用(透视表法,不需要插件/高级功能)

  • 打开包含原始数据的文件,选中任意数据单元格,按快捷键Alt+D+P调出数据透视表向导
  • 第一步选择「多重合并计算数据区域」,点击「下一步」
  • 第二步选择「创建单页字段」,点击「下一步」
  • 第三步在「选定区域」处框选全部原始数据(必须包含第一行的列名表头),点击「添加」把选中区域加入列表,点击「下一步」
  • 第四步选择透视表存放位置(建议选「新工作表」避免覆盖原数据),点击「完成」生成透视表
  • 找到生成透视表右下角行总计、列总计交叉的总计单元格,双击该单元格,Excel会自动生成明细数据表,删除表中不需要的「行」列,剩余两列分别为原列名、对应数字,调整列顺序即可匹配目标效果。

路径2:365/2016及以上版本(Power Query法,操作更简洁)

  • 选中原始数据区域,点击顶部菜单栏「数据」选项卡,选择「从表格/区域」,确认选中区域包含表头后点击确定,进入Power Query编辑器
  • 按住Ctrl选中所有数据列,右键点击列头,选择「逆透视列」,编辑器会直接生成两列数据:「属性」列为原列名,「值」列为对应数字
  • 点击「关闭并上载」,结果会自动导出到新工作表中。

原始文件样式参考:
原始多列数据示例
目标输出样式参考:
转换后单列效果示例

方案二:Python pandas 实现(适合十万行以上大批量数据)

如果数据量级较大,Excel处理卡顿,可以用pandas快速完成宽表转长表的转换:

  1. 先安装依赖库,在终端执行命令:
    pip install pandas openpyxl
  2. 运行以下代码,替换代码中的文件路径为你本地的实际路径即可:
import pandas as pd

# 读取原始Excel文件,若为csv格式替换为pd.read_csv("你的文件路径.csv")
df = pd.read_excel("你的原始数据文件.xlsx")
# 逆透视转换:第一列存原列名,第二列存对应数字,删除空值行
df_result = df.melt(var_name="原列名", value_name="数值").dropna()
# 导出结果到新文件,若为csv格式替换为df_result.to_csv("转换结果.csv", index=False)
df_result.to_excel("转换完成结果.xlsx", index=False)
  • 提示:如果需要保留空单元格对应的空行,删掉代码末尾的.dropna()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:51:25