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

如何将Excel中重复表名的列数据转换为指定格式的Python字典列表?

解决方案

方法一:Python脚本(高效处理大量数据)

用Pandas库可以快速完成分组转换,代码简单易运行:

import pandas as pd

# 读取Excel文件,替换成你的文件路径和工作表名
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")

# 按表名分组,整理列名列表(去除空格)
result = []
for table_name, group in df.groupby("table_name"):
    columns = [col.strip() for col in group["column_name"].tolist()]
    result.append({table_name: columns})

# 输出结果,也可保存到文件
print(result)
# 保存到文件
with open("output.txt", "w", encoding="utf-8") as f:
    f.write(str(result))

运行后直接得到目标格式的结果,1000行数据几秒就能处理完。

方法二:Excel Power Query(无代码可视化操作)

适合不熟悉编程的用户:

  • 选中Excel中包含表头的数据区域,点击「数据」→「从表格/区域」,确认表头存在后进入Power Query编辑器
  • 选中table_name列,点击「转换」→「分组依据」,设置分组依据为table_name,新列名设为columns,操作选「所有行」
  • 选中columns列,点击「添加列」→「自定义列」,输入公式:[columns][column_name],生成列名列表
  • 删除原columns列,只保留table_name和新生成的列名列表列
  • 点击「主页」→「关闭并上载」,将结果导出到新工作表,再手动拼接成目标格式的字符串

方法三:Excel公式(纯表格操作)

  • 先按table_name对数据排序(「数据」→「排序」,选择table_name升序)
  • 新增C列,C2输入公式:=IF(A2=A1,C1&", '"&TRIM(B2)&"'","'"&TRIM(B2)&"'"),下拉填充到所有行
  • 新增D列,D2输入公式:=IF(A2<>A3,"{'A2':["&C2&"]}",""),下拉填充,此时每个表的最后一行会生成对应的字典字符串
  • 筛选D列非空单元格,将这些字符串用逗号连接,前后加上[]就是最终目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 02:50:29