Вы можете просто использовать функцию сортировки с клавишей функции:
In:
import json
jsonv = [
{
"Item Type": "Snacks",
"Year_Month": "Jul-2017",
"Total Cost": 4500,
"Diff": "5"
},
{
"Item Type": "Ice Cream",
"Year_Month": "Jul-2017",
"Total Cost": 4000,
"Diff": "Nan"
},
{
"Item Type": "Chocolates",
"Year_Month": "Jul-2017",
"Total Cost": 3000,
"Diff": "4"
}
]
def extract_diff(json):
try:
jdiff = json['Diff']
ret = int(jdiff) if jdiff != 'Nan' else 0
return ret
except KeyError:
return 0
jsonv.sort(key=extract_diff, reverse=True)
print(json.dumps(jsonv, indent=4))
Out:
[
{
"Item Type": "Snacks",
"Year_Month": "Jul-2017",
"Total Cost": 4500,
"Diff": "5"
},
{
"Item Type": "Chocolates",
"Year_Month": "Jul-2017",
"Total Cost": 3000,
"Diff": "4"
},
{
"Item Type": "Ice Cream",
"Year_Month": "Jul-2017",
"Total Cost": 4000,
"Diff": "Nan"
}
]