有没有一种方法可以对Python中JSON文件中一个属性的键值求和?

艾丽西亚·阿尔维斯(Alicia Alves)

所以我有一个具有多个类别和数量属性的JSON文件。我需要分别汇总每个类别的数量,但不确定是否可以做到(或如何做到)。

这是我到目前为止的代码:

    for key, value in broken_database:

        if value and "quantity" in value.keys():
            sum += value["quantity"]

    print(sum)

它给了我这个错误信息:

ValueError: too many values to unpack (expected 2)

即使运行,此代码也不足够,因为它将仅对所有数量属性求和,而我需要对每个类别求和

我希望这至少可以汇总所有内容,因此我可以弄清楚如何区分类别,但到目前为止,我所得到的只是错误。

编辑:这是JSON文件的一部分:

[
  {
    "id": 1316334,
    "name": "Refrigerador bottom Freezer Electrolux de 02 Portas Frost Free com 598 Litros",
    "quantity": 12,
    "price": 3880.23,
    "category": "Eletrodom\u00e9sticos"
  },
  {
    "id": 1911864,
    "name": "Mouse Gamer Predator cestus 510 Fox Preto",
    "price": 699.0,
    "category": "Acess\u00f3rios",
    "quantity": 0
  },

编辑:现在我有此代码:

import json

with open("broken_database.json", "r+", encoding="utf-8") as file:
    broken_database = json.load(file)

    for key in broken_database:
        estoque = sum(key["quantity"] for key in broken_database)
        print(estoque)

with open("broken_database.json", "w", encoding="utf-8") as file:
    json.dump(broken_database, file, indent=2)

print(broken_database)

它会汇总所有“数量”属性,但不会通过“类别”属性将总和分开

吹牛

JSON对象的数据结构是字典列表,因此您应在不拆包键值对的情况下对其进行迭代,而应quantity直接通过键获取dict值

sum(d['quantity'] for d in broken_database)

编辑:由于您现在在注释中提到您希望按category属性对总和进行分组,因此可以将输出改为字典,sums在以下示例中进行命名

sums = {}
for d in broken_database:
     sums[d['category']] = sums.get(d['category'], 0) + d['quantity']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以对Pascal中的多个按钮使用一个过程?

来自分类Dev

有没有一种方法可以在pyspark中一个接一个地访问数组(结构)中的多个JSON对象

来自分类Dev

有没有一种方法可以对行的值求和?

来自分类Dev

有没有一种方法可以对MySQL中两列的乘积求和?

来自分类Dev

有没有一种方法可以在多行中编写一个很长的HTML属性值?

来自分类Dev

有没有一种方法可以在PhpStorm中仅保存一个文件?

来自分类Dev

有没有一种方法可以对列表中的所有内容(除了最后一个元素)执行相同的操作?

来自分类Dev

有没有一种方法可以在Python中定义一个float数组?

来自分类Dev

有没有一种方法可以在Python中实现全局计算属性?

来自分类Dev

有没有一种方法可以通过其中一个单元格中的按钮刷新整个UITableView?

来自分类常见问题

Excel:如果n个单元格连续满足条件,有没有一种方法可以对n + 1个单元格求和?

来自分类Dev

Excel:如果n个单元格连续满足条件,有没有一种方法可以对n + 1个单元格求和?

来自分类Dev

R:有没有一种有效的方法可以对一个列执行groupBy并对另一列求和?

来自分类Dev

有没有一种方法可以创建一个包含许多mongoDB objectiID的数组属性

来自分类Dev

有没有一种方法可以对setter方法和class属性使用相同的名称?

来自分类Dev

有没有一种方法可以创建一个包含Kubernetes Pod的多个文件的configMap?

来自分类Dev

有没有一种方法可以只为菜单编辑一个文件?

来自分类Dev

有没有一种方法可以将一个文件多次作为不同的模块

来自分类Dev

有没有一种方法或内置的R函数可以对列表中重复名称的值求和?

来自分类Dev

有没有一种方法可以在同一目录路径中的一个命令中对两个文件进行处理?

来自分类Dev

Android:有没有一种方法可以对一个对象的两个实例之间的“碰撞检测”进行编程?

来自分类Dev

有没有一种方法可以对属性进行排序而不必对它们进行“订购”?

来自分类Dev

有没有一种方法可以使可执行文件运行一个运行了不同python文件的python文件?

来自分类Dev

有没有一种方法可以对宏进行计数?

来自分类Dev

有没有一种方法可以对子数组的张量进行排序?

来自分类Dev

有没有一种方法可以对拆分的数组进行排序?

来自分类Dev

有没有一种方法可以将Google图表追加到一个div中?

来自分类Dev

有没有一种方法可以在一个kubectl命令中检查多个Pod

来自分类Dev

有没有一种方法可以对类中的所有成员使用`std :: optional`

Related 相关文章

  1. 1

    有没有一种方法可以对Pascal中的多个按钮使用一个过程?

  2. 2

    有没有一种方法可以在pyspark中一个接一个地访问数组(结构)中的多个JSON对象

  3. 3

    有没有一种方法可以对行的值求和?

  4. 4

    有没有一种方法可以对MySQL中两列的乘积求和?

  5. 5

    有没有一种方法可以在多行中编写一个很长的HTML属性值?

  6. 6

    有没有一种方法可以在PhpStorm中仅保存一个文件?

  7. 7

    有没有一种方法可以对列表中的所有内容(除了最后一个元素)执行相同的操作?

  8. 8

    有没有一种方法可以在Python中定义一个float数组?

  9. 9

    有没有一种方法可以在Python中实现全局计算属性?

  10. 10

    有没有一种方法可以通过其中一个单元格中的按钮刷新整个UITableView?

  11. 11

    Excel:如果n个单元格连续满足条件,有没有一种方法可以对n + 1个单元格求和?

  12. 12

    Excel:如果n个单元格连续满足条件,有没有一种方法可以对n + 1个单元格求和?

  13. 13

    R:有没有一种有效的方法可以对一个列执行groupBy并对另一列求和?

  14. 14

    有没有一种方法可以创建一个包含许多mongoDB objectiID的数组属性

  15. 15

    有没有一种方法可以对setter方法和class属性使用相同的名称?

  16. 16

    有没有一种方法可以创建一个包含Kubernetes Pod的多个文件的configMap?

  17. 17

    有没有一种方法可以只为菜单编辑一个文件?

  18. 18

    有没有一种方法可以将一个文件多次作为不同的模块

  19. 19

    有没有一种方法或内置的R函数可以对列表中重复名称的值求和?

  20. 20

    有没有一种方法可以在同一目录路径中的一个命令中对两个文件进行处理?

  21. 21

    Android:有没有一种方法可以对一个对象的两个实例之间的“碰撞检测”进行编程?

  22. 22

    有没有一种方法可以对属性进行排序而不必对它们进行“订购”?

  23. 23

    有没有一种方法可以使可执行文件运行一个运行了不同python文件的python文件?

  24. 24

    有没有一种方法可以对宏进行计数?

  25. 25

    有没有一种方法可以对子数组的张量进行排序?

  26. 26

    有没有一种方法可以对拆分的数组进行排序?

  27. 27

    有没有一种方法可以将Google图表追加到一个div中?

  28. 28

    有没有一种方法可以在一个kubectl命令中检查多个Pod

  29. 29

    有没有一种方法可以对类中的所有成员使用`std :: optional`

热门标签

归档