当前位置: 首页 > 知识库问答 >
问题:

如何从JSON文件中打印值

阮飞翔
2023-03-14
{  
   "sessionid":"1",
   "game_clock_display":"1",
   "game_clock":1,
   "game_status":"score",
   "possession":[  
      1,
      1
   ],
   "teams":[  
      {  
         "players":[  
            {  
               "name":"NAME1",
               "playerid":1,
               "position":[  
                  64,
                  34,
                  45
               ],
               "stats":{  
                  "possession_time":21.882006,
                  "points":3,
                  "saves":1,
                  "goals":0,
                  "stuns":4,
                  "passes":0,
                  "catches":0,
                  "steals":1,
                  "blocks":0,
                  "interceptions":0,
                  "assists":0,
                  "shots_taken":2
               },
               "userid":xxx,
               "possession":false
            },
            {  
               "name":"NAME2",
               "playerid":3,
               "position":[  
                  -1.251,
                  2.8280001,
                  -24.380001
               ],
               "stats":{  
                  "possession_time":25.58037,
                  "points":2,
                  "saves":0,
                  "goals":0,
                  "stuns":4,
                  "passes":0,
                  "catches":0,
                  "steals":0,
                  "blocks":0,
                  "interceptions":0,
                  "assists":0,
                  "shots_taken":1
               },
               "userid":1583793368337226,
               "possession":false
            },
            {  
               "name":"NAME3",
               "playerid":5,
               "position":[  
                  0.89900005,
                  3.0540001,
                  -39.322002
               ],
               "stats":{  
                  "possession_time":28.325825,
                  "points":0,
                  "saves":1,
                  "goals":0,
                  "stuns":2,
                  "passes":0,
                  "catches":0,
                  "steals":0,
                  "blocks":0,
                  "interceptions":0,
                  "assists":0,
                  "shots_taken":2
               },
               "userid":1462448290539019,
               "possession":false
            }
         ],
         "team":"BLUE TEAM",
         "possession":false,
         "stats":{  
            "points":5,
            "possession_time":75.7882,
            "interceptions":0,
            "blocks":0,
            "steals":1,
            "catches":0,
            "passes":0,
            "saves":2,
            "goals":0,
            "stuns":10,
            "assists":0,
            "shots_taken":5
         }
      },
      {  
         "players":[  
            {  
               "name":"NAME4",
               "playerid":0,
               "position":[  
                  -0.058000002,
                  3.7800002,
                  3.9600003
               ],
               "stats":{  
                  "possession_time":15.404906,
                  "points":0,
                  "saves":2,
                  "goals":0,
                  "stuns":5,
                  "passes":0,
                  "catches":0,
                  "steals":1,
                  "blocks":0,
                  "interceptions":0,
                  "assists":0,
                  "shots_taken":1
               },
               "userid":2022757824404800,
               "possession":false
            },
            {  
               "name":"NAME5",
               "playerid":1,
               "position":[  
                  12.033001,
                  1.0680001,
                  -31.469002
               ],
               "stats":{  
                  "possession_time":29.619047,
                  "points":3,
                  "saves":0,
                  "goals":0,
                  "stuns":5,
                  "passes":0,
                  "catches":0,
                  "steals":0,
                  "blocks":0,
                  "interceptions":0,
                  "assists":0,
                  "shots_taken":2
               },
               "userid":1504614686325452,
               "possession":true
            },
            {  
               "name":"NAME6",
               "playerid":4,
               "position":[  
                  0.78100002,
                  1.9790001,
                  -17.815001
               ],
               "stats":{  
                  "possession_time":15.020118,
                  "points":2,
                  "saves":0,
                  "goals":0,
                  "stuns":2,
                  "passes":0,
                  "catches":0,
                  "steals":0,
                  "blocks":0,
                  "interceptions":0,
                  "assists":1,
                  "shots_taken":0
               },
               "userid":2207645752583213,
               "possession":false
            }
         ],
         "team":"ORANGE TEAM",
         "possession":true,
         "stats":{  
            "points":5,
            "possession_time":60.044071,
            "interceptions":0,
            "blocks":0,
            "steals":1,
            "catches":0,
            "passes":0,
            "saves":2,
            "goals":0,
            "stuns":12,
            "assists":1,
            "shots_taken":3
         }
      }
   ]
}

在我的JSON文件中,我想打印带有“位置”和团队的“名称”值,即蓝色或橙色团队。

所以我希望我的python最终输出是

名称: 名称1, 位置: X,Y,Z 团队: 蓝色

名称:名称2,位置:X,Y,Z团队:蓝色

姓名:NAME3,位置:X、Y、Z团队:蓝色

名称:名称4,位置:X,Y,Z团队:橙色

名称: 名称5, 位置: X,Y,Z 团队: 橙色

名称: NAME6, 位置: X,Y,Z 团队: 橙色

比如说。

我将如何着手做这件事?对python相当陌生

共有2个答案

林玮
2023-03-14

使用json模块,您可以将文件加载到标准的Python目录中

import json

data = None

with open(filename, 'r') as f:
    data = json.load(f)

teams = data['teams']

现在您可以迭代< code >团队来提取您需要的数据

桓深
2023-03-14

您可以查看json模块:

import json

j = json.load(open("json-t.txt"))

for team in j['teams']:
    for p in team['players']:
        print(f"Name: {p['name']}, position: {p['position']}, team: {team['team']}") 

注意:在您的示例json中,您留在“userid”:xxx中,请确保此问题已修复。

 类似资料:
  • 问题内容: 我有一个JSON文件,我想把它打印成一团糟。在Python中最简单的方法是什么? 我知道PrettyPrint带有一个“对象”,我认为它可以是一个文件,但是我不知道如何传递文件。仅使用文件名是行不通的。 问题答案: 该模块已经实现了一些基本的漂亮打印,其参数指定缩进多少空格: 要解析文件,请使用:

  • 问题内容: 我有一个JSON文件,我想把它弄得一团糟-在python中最简单的方法是什么?我知道PrettyPrint带有一个“对象”,我认为它可以是一个文件,但是我不知道如何传递文件-仅使用文件名不起作用。 问题答案: 该模块已经使用参数实现了一些基本的漂亮打印: 要解析文件,请使用json.load():

  • 我想把我正在编辑的文件发送到打印机,就像我在记事本中做的那样。我没有发现任何关于打印命令的提示。这是不可能的吗?

  • 问题内容: 我有一个带有JSON元素序列的文件: 是否有一个Shell脚本来格式化JSON以以可读形式显示文件内容? 我看过这篇文章,我认为这是一个很好的起点! 我的想法是迭代文件中的行,然后: 还有其他想法吗? 问题答案: 将文件中的结果通过管道传输到python json工具2.6及更高版本

  • 我正在从这个网站上阅读JSON格式的数据https://data.melbourne.vic.gov.au/api/views/ntht-5rk7/rows.json?accessType=DOWNLOAD 我开发了一个Python程序,将数据假脱机到CSV文件中。我花了一段时间才理解了这个系统的结构。 Python中有没有一种方法可以扫描文件,然后打印出文件字典结构和数据列表结构?这将有助于我在

  • 我正在从这个网站上阅读JSON格式的数据https://data.melbourne.vic.gov.au/api/views/ntht-5rk7/rows.json?accessType=DOWNLOAD 我开发了一个Python程序,将数据假脱机到CSV文件中。我花了一段时间才理解了这个系统的结构。 Python中有没有一种方法可以扫描文件,然后打印出文件字典结构和数据列表结构?这将有助于我在