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

如何从多行列xls文件生成外层为列名、内层为行值的嵌套字典

调整后的完整代码
import pandas as pd

# 读取Excel所有工作表,header=1表示表头在第2行,和你原有逻辑一致
epitope_dicty = pd.read_excel('file.xlsx', engine='openpyxl', sheet_name=None, header=1)

dicty_of = {}
for sheet_name, sheet_df in epitope_dicty.items():
    # 清理首列为空的行,将首列设为索引
    processed_df = sheet_df.dropna(subset=[sheet_df.columns[0]]).set_index(sheet_df.columns[0])
    # 如果需要数值转为字符串格式,取消注释下一行即可
    # processed_df = processed_df.astype(str)
    # 直接转换为目标嵌套字典结构
    dicty_of[sheet_name] = processed_df.to_dict()
结果说明
  • 最终dicty_of是总字典,键为工作表名称,值就是你要求的嵌套字典结构:外层键为除首列外的列名,内层字典键为首列的取值,值为对应单元格的内容
  • 如果你只需要处理单个工作表,直接取对应工作表的转换结果即可,比如dicty_of['你要的工作表名']就是你示例给出的输出格式

如果你Excel里有重复列名(比如示例里的两个Col_4),pandas读取后会自动重命名为Col_4、Col_4.1避免冲突,如果你要保留原始重复命名可以在读取后手动修改列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:39:03