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

如何按seller值拆分订单字典并分别存入数据库?

问题描述

现有如下结构的订单字典:

{
    "1": {"image": "67021f123f31ab63834f.jpg", "name": "Chai", "price": 18.0, "quantity": "1", "seller": "2"}, 
    "24": {"image": "", "name": "Guaraná Fantástica", "price": 4.5, "quantity": "1", "seller": "2"}, 
    "3": {"image": "", "name": "Aniseed Syrup", "price": 10.0, "quantity": "1", "seller": "10"}
}

需要将相同seller值的订单拆分到不同字典中,最终得到按卖家分组的订单字典,效果如下:

{
    "1": {"image": "67021f123f31ab63834f.jpg", "name": "Chai", "price": 18.0, "quantity": "1", "seller": "2"}, 
    "24": {"image": "", "name": "Guaraná Fantástica", "price": 4.5, "quantity": "1", "seller": "2"}
}

{
    "3": {"image": "", "name": "Aniseed Syrup", "price": 10.0, "quantity": "1", "seller": "10"}
}
解决方案

用Python可以轻松实现这个分组拆分需求,步骤清晰易懂:

  1. 准备一个空字典,用来按卖家ID存储对应的订单组,键是卖家ID,值是该卖家的所有订单构成的字典。
  2. 遍历原始订单字典的每一条数据,把每个订单放到对应卖家的字典里。
  3. 最后提取所有分组后的订单字典,即可得到预期结果。

示例代码:

# 原始订单数据
original_orders = {
    "1": {"image": "67021f123f31ab63834f.jpg", "name": "Chai", "price": 18.0, "quantity": "1", "seller": "2"}, 
    "24": {"image": "", "name": "Guaraná Fantástica", "price": 4.5, "quantity": "1", "seller": "2"}, 
    "3": {"image": "", "name": "Aniseed Syrup", "price": 10.0, "quantity": "1", "seller": "10"}
}

# 初始化分组容器
grouped_orders = {}

# 遍历并分组订单
for order_id, order_details in original_orders.items():
    seller_id = order_details["seller"]
    # 如果该卖家还没有对应的订单组,先创建空字典
    if seller_id not in grouped_orders:
        grouped_orders[seller_id] = {}
    # 将当前订单加入对应卖家的组
    grouped_orders[seller_id][order_id] = order_details

# 输出拆分后的每个订单字典(后续可直接将每个字典存入数据库)
for seller_order_group in grouped_orders.values():
    print(seller_order_group)
    print()  # 换行分隔不同卖家的订单

运行代码后,就能得到你需要的拆分结果,之后可以把每个seller_order_group单独存入数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 01:15:39