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

如何在Python中获取JSON叶子节点并计算2022年总销售额

Python提取2022年客户销售值总和解决方案

完整代码实现

# 假设JSON数据已加载为字典(从文件读取的话看下方步骤)
customer_data = {
    "customer_data": [
        {"name": "John Smith", "age": 35, "email": "johnsmith@gmail.com", "phone": "0413-535-124", "sales_value": [{"year": "2022", "sales_value": 2000}, {"year": "2023", "sales_value": 3000}]},
        {"name": "Jane Doe", "age": 28, "email": "janedoe@yahoo.com", "phone": "0401-655-568", "sales_value": [{"year": "2022", "sales_value": 2000}, {"year": "2023", "sales_value": 3000}]},
        {"name": "Bob Johnson", "age": 42, "email": "bjohnson@hotmail.com", "phone": "0433-515-912", "sales_value": [{"year": "2022", "sales_value": 2000}, {"year": "2023", "sales_value": 3000}]},
        {"name": "Bob2 Johnson", "age": 42, "email": "bjohnson@hotmail.com", "phone": "0433-515-912", "sales_value": [{"year": "2022", "sales_value": 2000}, {"year": "2023", "sales_value": 3000}]},
        {"name": "Bob3 Johnson", "age": 42, "email": "bjohnson@hotmail.com", "phone": "0433-515-912", "sales_value": [{"year": "2022", "sales_value": 2000}, {"year": "2023", "sales_value": 3000}]}
    ]
}

total_2022_sales = 0

# 遍历所有客户
for customer in customer_data["customer_data"]:
    # 遍历当前客户的每一条销售记录
    for sale in customer["sales_value"]:
        if sale["year"] == "2022":
            total_2022_sales += sale["sales_value"]

print(f"2022年销售总和: {total_2022_sales}")

简化写法(生成器表达式)

如果偏好更紧凑的代码,可直接用生成器表达式求和:

total_2022_sales = sum(
    sale["sales_value"]
    for customer in customer_data["customer_data"]
    for sale in customer["sales_value"]
    if sale["year"] == "2022"
)
print(f"2022年销售总和: {total_2022_sales}")

关键步骤解析

  1. 加载JSON数据
    若数据存储在本地文件中,需用json模块读取:

    import json
    with open('your_data_file.json', 'r') as f:
        customer_data = json.load(f)
    
  2. 层级访问逻辑

    • 最外层字典的customer_data键对应客户列表
    • 每个客户字典的sales_value键对应该客户的年度销售记录列表
    • 每条销售记录是包含year和sales_value的字典,直接通过键名即可访问叶子节点值
  3. 筛选与累加
    通过嵌套遍历客户和销售记录,用year == "2022"筛选目标年份的记录,将对应sales_value累加到总和变量中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:30:24