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

如何使用Python的Pandas从Excel数据生成嵌套字典

如何用Pandas将Excel数据转换为指定结构的嵌套字典?

需求目标

需要将Excel表格数据转换为如下结构的嵌套字典:

dict_mainmenu_items = {
    "id": {"lbl101":"file", "lbl102":"accounts", "lbl103":"inventory", "lbl104":"manufacture"},
    "english": {"lbl101":"File", "lbl102":"Accounts", "lbl103":"Inventory", "lbl104":"Manufacture"},
    "tamil": {"lbl101":"tamil_file", "lbl102":"tamil_accounts", "lbl103":"tamil_inventory", "lbl104":"tamil_manu"},
    "hindi": {"lbl101":"hindi_file", "lbl102":"hindi_accounts", "lbl103":"hindi_inventory", "lbl104":"hindi_manuf"}
}

现有尝试代码

使用Pandas读取Excel并转换字典的代码如下:

import pandas as pd

file_path = r'C:/Users/Asus/Desktop/Documents/pyhton_dict_example.xlsx'
df = pd.read_excel(file_path)
df.set_index('lbl_name',inplace=True)

print(df.to_dict(orient='index'))

当前输出结果

运行上述代码后得到的字典结构与需求不符,输出为:

{
    'lbl101': {'id': 'file', 'english': 'File', 'tamil': 'tamil_file', 'hindi': 'Hindi_File'},
    'lbl102': {'id': 'accounts', 'english': 'Accounts', 'tamil': 'tamil_accounts', 'hindi': 'Hindi_Accounts'},
    'lbl103': {'id': 'inventory', 'english': 'Inventory', 'tamil': 'tamil_inventory', 'hindi': 'Hindi_Inventory'},
    'lbl104': {'id': 'manufacture', 'english': 'Manufacture', 'tamil': 'tamil_manuf', 'hindi': 'Hindi_Manufacture'}
}

Excel表格数据

原始Excel表格内容如下:

lbl_nameidenglishtamilhindi
lbl101fileFiletamil_filehindi_file
lbl102accountsAccountstamil_accountshindi_accounts
lbl103inventoryInventorytamil_inventoryhindi_inventory
lbl104manufactureManufacturetamil_manufacthindi_manu

解决方案

问题出在orient='index'的使用逻辑上:它会将行索引(lbl_name)作为外层字典的键,而我们需要把列名(id、english等)作为外层键。只需先对DataFrame进行转置,再转换为字典即可得到目标结构,调整后的代码如下:

import pandas as pd

file_path = r'C:/Users/Asus/Desktop/Documents/pyhton_dict_example.xlsx'
df = pd.read_excel(file_path)
df.set_index('lbl_name', inplace=True)
# 转置DataFrame后生成目标结构字典
dict_mainmenu_items = df.T.to_dict(orient='index')
print(dict_mainmenu_items)

运行这段代码后,就能得到与需求完全一致的嵌套字典结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:57:20