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

如何将嵌套字典列表转为对应Key的DataFrame并生成CSV文件

没问题,我来帮你理顺这个需求的实现步骤~

首先先明确下你的数据结构,应该是类似这种外层字典嵌套字典列表的格式:

data = {
    "sales_records": [
        {"date": "2024-01-01", "amount": 120},
        {"date": "2024-01-02", "amount": 95}
    ],
    "product_info": [
        {"id": "P001", "name": "Laptop", "price": 5999},
        {"id": "P002", "name": "Mouse", "price": 99}
    ]
}

第一步:把每个key对应的字典列表转为DataFrame并存入字典

你可以选择两种方式:要么直接更新原字典(替换掉原来的列表),要么创建一个新字典专门存储DataFrames(更推荐,避免覆盖原始数据)。

方式1:创建新字典存储DataFrames

import pandas as pd

df_storage = {}
for key, dict_list in data.items():
    df_storage[key] = pd.DataFrame(dict_list)

这样df_storage里的每个key就对应着对应数据的DataFrame了,原始的data字典还保留着原来的列表数据。

方式2:直接更新原字典

如果你不需要保留原始的列表数据,可以直接把原字典的value替换成DataFrame:

for key in data:
    data[key] = pd.DataFrame(data[key])

第二步:定义函数导出每个DataFrame为CSV文件

接下来就可以写一个函数,遍历存储DataFrames的字典(或者原始数据字典),把每个key对应的DataFrame导出为以key命名的CSV文件:

直接基于原始数据字典的函数(一步到位)

这个函数会直接读取原始的字典列表,生成DataFrame并导出,不需要提前处理:

import pandas as pd

def export_key_data_to_csv(raw_data):
    for key, item_list in raw_data.items():
        # 将字典列表转为DataFrame
        df = pd.DataFrame(item_list)
        # 导出CSV,index=False避免写入多余的索引列
        df.to_csv(f"{key}.csv", index=False)
        print(f"✅ 已成功导出文件:{key}.csv")

# 调用函数,传入你的原始数据字典
export_key_data_to_csv(data)

基于已生成的DataFrame字典的函数

如果已经提前生成了像df_storage这样的DataFrame字典,可以用这个简化版:

def export_df_to_csv(df_dict):
    for key, df in df_dict.items():
        df.to_csv(f"{key}.csv", index=False)
        print(f"✅ 已成功导出文件:{key}.csv")

export_df_to_csv(df_storage)

关键细节说明

  • pd.DataFrame(dict_list):会自动把字典的键作为DataFrame的列名,每个字典的值对应列中的行数据,完美适配你的数据结构。
  • to_csv的index=False:这个参数很重要,能避免把DataFrame默认的数字索引写入CSV文件,让导出的文件更干净。
  • 文件名用key命名:这样每个CSV文件和原始数据的key一一对应,方便后续查找和使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:54:04