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

Python如何将键不固定的异构对象列表存储到CSV文件中

键数量不固定的对象列表存储为CSV文件的实现方法

实现逻辑

  • 首先提取所有对象中出现过的唯一键作为CSV表头
  • 写入时自动补全每个对象缺失的字段,缺失字段值留空,保证所有字段都完整存储

代码实现

方法1:使用Python内置csv模块(无需安装第三方依赖)

import csv

# 待存储的对象列表示例
obj_list = [
    {"name": "abc", "class": "10th"},
    {"name": "abcd", "class": "11th", "div": "A"}
]

# 收集所有唯一键作为表头,可自行调整表头顺序
headers = list({key for obj in obj_list for key in obj})

with open('output.csv', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=headers)
    # 写入表头行
    writer.writeheader()
    # 批量写入所有对象数据,缺失字段自动填充为空
    writer.writerows(obj_list)

方法2:使用pandas库(代码更简洁)

import pandas as pd

obj_list = [
    {"name": "abc", "class": "10th"},
    {"name": "abcd", "class": "11th", "div": "A"}
]

# 自动识别所有字段生成DataFrame,缺失字段默认赋值为NaN,转CSV时自动留空
df = pd.DataFrame(obj_list)
# 导出为CSV,index=False表示不导出行号列
df.to_csv('output.csv', index=False, encoding='utf-8')

输出效果

最终生成的CSV效果如下:
输出效果示意图
缺失对应字段的行,对应列会自动留空,所有出现过的字段都会完整保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:39:04