有一个具有这种视图的JSON文件
{
"A":
{
"B": 0,
"C": 1
},
"D":
{
"E": 2,
"F": 4
}
}
我需要在程序读取文件后,结构“A”和“D”的每个字段都会从某个范围获得一个随机值以获取新的JSON文件,例如
{
"A":
{
"B": 70,
"C": 25
},
"D":
{
"E": 15,
"F": 3
}
}
我从文件中写了一个读数,但这里是如何使每个字段从某个范围获取值,我不知道
import json
from pathlib import Path
path = Path('newtest.json')
data =json.loads(path.read_text(encoding='utf-8'))
data['A']={'B':50,'C':50}
path.write_text(json.dumps(data),
encoding='utf-8')
在这段代码中,我手动设置字段值,但是如果有很多字段,我不能手动设置每个值,如何自动设置它并用值传递它。从其范围开始的每个字段的值?
答案 0 :(得分:0)
那么,这是什么?一个词典字典,你有一个键和子键,你想在一定范围内更改子键的值,对吗?所以{A:{B:70}}可以假定键1:100,任意重新分配给{A:{B:42}},对吗?
因此,假设您知道如何在函数中将{A:{B:70}}更改为{A:{B:35}},您将如何用1:100范围内的随机数替换35?您可以在标准库中查找函数以从一个范围返回一个随机数,对吗?
答案 1 :(得分:0)
你的意思是?
import json
import random
from pathlib import Path
path = Path('newtest.json')
data =json.loads(path.read_text(encoding='utf-8'))
for firstKey, firstValue in data.items():
for key, value in firstValue.items():
firstValue[key] = random.randrange(0, 100)
data[firstKey] = firstValue
path.write_text(json.dumps(data),
encoding='utf-8')