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

如何提取嵌套字典中的值并转换为Pandas DataFrame

解决方案

你生成的filtered_d字典中每个值本身已经是DataFrame结构,不需要额外通过from_dict转换,直接遍历字典处理每个表即可:

# 定义存储处理后表格的字典,键为表名,值为格式正确的DataFrame
processed_tables = {}
# 如果你提到的第174行是当前子表的第一行,header_row_pos设为0;如果是其他位置自行调整数值即可
header_row_pos = 0 

for table_name, raw_sub_df in filtered_d.items():
    # 提取列标题
    col_header = raw_sub_df.iloc[header_row_pos]
    # 取标题行之后的内容作为正式数据
    cleaned_df = raw_sub_df[header_row_pos + 1:]
    # 赋值列名
    cleaned_df.columns = col_header
    # 重置行索引
    cleaned_df = cleaned_df.reset_index(drop=True)
    # 存入结果字典
    processed_tables[table_name] = cleaned_df

# 调用示例:获取Table 5的DataFrame
table5_df = processed_tables['Table 5']

如果需要将所有表格合并为一个总表,保留表名作为来源标识,可以增加以下代码:

all_tables_df = pd.concat(
    processed_tables,
    names=['table_name', 'original_row_id']
).reset_index(drop=False)

原有代码问题说明

你之前写的嵌套字典推导式会将所有表的列打散为(表名, 列名)格式的行索引,和你需要保留单表结构的需求不符,属于对filtered_d数据结构的误判,不需要该转换逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:06:05