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

嵌套JSON转CSV遇列表索引错误,如何正确解析生成CSV?

问题分析与解决

错误原因

  1. 列表索引误用:你的JSON最外层是数组([]包裹),json.load(f)加载后得到的data是Python列表,列表仅支持整数/切片索引,用字符串"Id"索引自然会报错。
  2. 字段名不匹配:你要提取的"Attention"对应JSON里的字段是Atten,代码里需要对应正确。

正确代码

import json
import csv

# 加载JSON数据
with open('averages.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 写入目标CSV
filename = "data.csv"
with open(filename, "w", newline='', encoding='utf-8') as file:
    csv_writer = csv.writer(file)
    # 写入表头
    csv_writer.writerow(["Duration", "Attention"])
    # 遍历列表中的每个数据对象
    for item in data:
        # 提取对应字段,用get避免字段缺失报错
        duration = item.get("Duration", "")
        attention = item.get("Atten", "")
        csv_writer.writerow([duration, attention])

代码说明

  • 直接遍历data列表,每个item是包含完整字段的字典,无需嵌套索引Id(你要的字段不在Id子字典里)。
  • item.get(key, "")可以防止字段缺失时抛出异常,默认返回空字符串。
  • 打开CSV时加newline='',能避免Windows系统下生成多余空行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:05:30