Home > front end >  python get data json value max
python get data json value max

Time:11-12

How can I extract the T3 Period, Year and maximum value?

file.json

[
{"Fecha":"2022-08-01T00:00:00.000 02:00", "T3_TipoDato":"Avance", "T3_Periodo":"M08", "Anyo":2022, "value":10.4},
{"Fecha":"2022-07-01T00:00:00.000 02:00", "T3_TipoDato":"Definitivo", "T3_Periodo":"M07", "Anyo":2022, "value":10.8},
{"Fecha":"2022-06-01T00:00:00.000 02:00", "T3_TipoDato":"Definitivo", "T3_Periodo":"M06", "Anyo":2022, "value":10.2}
]

My code:

import json

with open("file.json") as f: 
    distros_dict = json.load(f)

print (distros_dict)   

CodePudding user response:

that is my proposition.

  1. Load data from a file to a list.
  2. Loop thru every dict in a list to edit it. (At my example I, deleted two keys from every dict in list.)
   import json
   
   distros_dict = []
   
   with open(f'file.json', "r", encoding='utf-8') as f:
       distros_dict.extend(json.load(f))
   
   for item in distros_dict:
     item.pop('Fecha')
     item.pop('T3_TipoDato')

   distros_dict = sorted(distros_dict, key = lambda i: i['value'], reverse=True)[0]

CodePudding user response:

Try this:

from json import load

with open("file.json") as f:
    dictionary_max = max(load(f), key=lambda x: x["value"])

result = {
    "T3_Periodo": dictionary_max["T3_Periodo"],
    "Anyo": dictionary_max["Anyo"],
    "value": dictionary_max["value"],
}

print(result)

output:

{'T3_Periodo': 'M07', 'Anyo': 2022, 'value': 10.8}
  • Related