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

Python嵌套字典列表解析为CSV并新增原键作为关联列的问题

解决方案

你可以直接在扁平化每条记录时,将地点标识作为新字段插入到记录中,修改后的代码如下:

import pandas as pd
from flatten_json import flatten

processed_data = []
# 遍历所有地点和对应时序记录
for location_id, records in readings.items():
    for record in records:
        # 扁平化嵌套结构
        flattened = flatten(record)
        # 新增地点标识列
        flattened["location_identifier"] = location_id
        processed_data.append(flattened)

# 生成DataFrame并导出
df = pd.DataFrame(processed_data)
df.to_csv(r"C:\test.csv", index=False)

如果你不想修改原有推导式的写法,也可以通过拆分索引的方式实现:

data = {(k, i): flatten(item) for k, v in readings.items() for i, item in enumerate(v)}
df = pd.DataFrame.from_dict(data, orient='index')
# 拆分多级索引为列,第一级即为地点标识
df = df.reset_index(names=['location_identifier', 'record_inner_index'])
# 可选:删除不需要的同地点内记录序号列
df = df.drop(columns=['record_inner_index'])
df.to_csv(r"C:\test.csv", index=False)

注:如果原有扁平化后的字段中存在和location_identifier重名的字段,修改该字段名避免覆盖即可。

内容的提问来源于stack exchange,提问作者Mr. Geologist

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:36:03