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

如何修改Python代码将JSON中inventory嵌套值求和后写入CSV

问题解决:JSON嵌套inventory字段求和并写入CSV

直接上修改后的可运行代码,解决嵌套字典求和以及子字段访问的问题:

import json
import csv

# 读取JSON文件
with open('input.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)

# 提取results列表中的数据并处理inventory字段
processed_data = []
for item in data['results']:
    # 对inventory字典的所有数值求和
    inventory_total = sum(item['inventory'].values())
    # 构造要写入CSV的行数据,按需添加其他字段
    processed_item = {
        'id': item.get('id'),
        'name': item.get('name'),
        'inventory': inventory_total,
        # 其他需要的字段照此格式添加
    }
    processed_data.append(processed_item)

# 写入CSV文件
if processed_data:
    # 取第一个item的键作为CSV表头
    headers = processed_data[0].keys()
    with open('output.csv', 'w', newline='', encoding='utf-8') as csv_file:
        writer = csv.DictWriter(csv_file, fieldnames=headers)
        writer.writeheader()
        writer.writerows(processed_data)

关键修改说明

  • 访问results子字段:JSON数据里的results是一个列表,直接通过data['results']获取,遍历每个元素就能拿到条目下的inventory、id等子字段。
  • inventory求和:用sum(item['inventory'].values())计算嵌套字典数值总和——values()提取字典内所有数字,sum()完成求和,替代原直接写入整个字典的操作。
  • 兼容空值:用item.get('字段名')替代直接索引,避免部分条目缺失字段时抛出错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:38:26