Python:将 json 属性加载为数字
Python: Load json atrribute as number
我想从 json 文件中读取 python 字典,其中字典的键是数字(整数或浮点数)。
这是我的data.json
{
"number_of_uses":{
"weekday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1},
"saturday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1},
"sunday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}
}
}
我想要 python 相当于这样的字典:
number_of_uses = {
"weekday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
"saturday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
"sunday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1}}
我知道我可以简单地编写一个函数,我传递最里面的字典,return 一个带有 ints/floats 的字典。但我希望有一些集成功能可以对整个文件执行此操作。
感谢您的帮助。
编辑:具体来说:我希望每个“是”数字的 json 属性在 python dict[=14] 中表示为数字 (int/float) =]
编辑:将 {} 添加到我的 data.json
这里有一个针对这个特定案例的衬垫...:
numbered = {k:{int(inner_k):inner_v for inner_k,inner_v in v.items()} for k,v in number_of_uses.items()}
示范:
import json
json_str = '{"number_of_uses" : {"weekday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}, "saturday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}, "sunday": {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}}}'
json_data = json.loads(json_str)
number_of_uses = json_data['number_of_uses']
numbered = {k:{int(inner_k):inner_v for inner_k,inner_v in v.items()} for k,v in number_of_uses.items()}
print(numbered)
>>>{'weekday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
'saturday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
'sunday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1}}
我想从 json 文件中读取 python 字典,其中字典的键是数字(整数或浮点数)。
这是我的data.json
{
"number_of_uses":{
"weekday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1},
"saturday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1},
"sunday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}
}
}
我想要 python 相当于这样的字典:
number_of_uses = {
"weekday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
"saturday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
"sunday" : {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1}}
我知道我可以简单地编写一个函数,我传递最里面的字典,return 一个带有 ints/floats 的字典。但我希望有一些集成功能可以对整个文件执行此操作。
感谢您的帮助。
编辑:具体来说:我希望每个“是”数字的 json 属性在 python dict[=14] 中表示为数字 (int/float) =]
编辑:将 {} 添加到我的 data.json
这里有一个针对这个特定案例的衬垫...:
numbered = {k:{int(inner_k):inner_v for inner_k,inner_v in v.items()} for k,v in number_of_uses.items()}
示范:
import json
json_str = '{"number_of_uses" : {"weekday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}, "saturday" : {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}, "sunday": {"0": 0.1, "1": 0.4, "2": 0.4, "3": 0.1}}}'
json_data = json.loads(json_str)
number_of_uses = json_data['number_of_uses']
numbered = {k:{int(inner_k):inner_v for inner_k,inner_v in v.items()} for k,v in number_of_uses.items()}
print(numbered)
>>>{'weekday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
'saturday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1},
'sunday': {0: 0.1, 1: 0.4, 2: 0.4, 3: 0.1}}