有一个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')
在这段代码中,我手动设置了字段值,但是如果有很多字段,我不能手动设置每个值,如何自动设置它并用值传递它。其范围内每个字段的值?
那么,这是什么?一个词典字典,你有一个键和子键,你想在一定范围内更改子键的值,对吗?所以{A:{B:70}}可以,假设键1:100,任意重新分配给{A:{B:42}},对吗?
因此,假设您知道如何在函数中将{A:{B:70}}更改为{A:{B:35}},您将如何用1:100范围内的随机数替换35?您可以在标准库中查找函数以从范围中返回随机数,对吗?
你的意思是这个吗?
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')