将JSON文件加载到开头的aPool
列表中。你知道吗
def LoadPoolTemplate():
sFilename = './pool_template.json'
if os.path.exists(sFilename):
with open(sFilename, 'r') as fJsonFile:
aPool = json.load(fJsonFile)
return aPool
将aTempJson
附加到aPool[index]['devices']
def UpdateJSON(aPool, aDevList):
sFilename = './device_template.json'
if os.path.exists(sFilename):
with open(sFilename, 'r') as fJsonFile:
aTempJson = json.load(fJsonFile)
else:
print ("No such file names " + sFilename)
for item in aDevList:
aTempJson['id'] = item[1]
aTempJson['atti']['high'] = item[2]
for (i,pid) in enumerate(aPool):
if pid['id'] == item[0]:
aPool[i]['devices'].append(aTempJson)
break
将aPool
列表更新为JSON文件
def CreateDeviceJSON(aDevice):
with open(gDevice, 'w') as fOutfile:
json.dump(aDevice, fOutfile, indent=2)
阅读列表
def ReadDeviceList():
aDevList = []
with open(gDevList, 'r') as fList:
for line in fList:
columns = line.strip().split(',')
aDevList.append(columns)
return aDevList
主要功能
def main():
aDevDist = []
aDeviceJson = []
aDeviceJson = LoadPoolTemplate()
aDeviceList = ReadDeviceList()
aDeviceJson = UpdateJSON(aDeviceJson, aDeviceList)
CreateDeviceJSON(aDeviceJson)
我不知道为什么设备列表中的所有元素都一样,请帮帮我。你知道吗
JSON文件输出:
[
{
"id": "id1",
"devices": [
{
"atti": {
"high": "190",
"weight": "80"
},
"id": "Jordan"
},
{
"atti": {
"high": "190",
"weight": "80"
},
"id": "Jordan"
},
{
"atti": {
"high": "190",
"weight": "80"
},
"id": "Jordan"
}
]
},
{
"id": "id2",
"devices": [
{
"atti": {
"high": "190",
"weight": "80"
},
"id": "Jordan"
}
]
},
{
"id": "id3",
"devices": [
{
"atti": {
"high": "190",
"weight": "80"
},
"id": "Jordan"
}
]
}
]
输入源如下:
["id1", "apple", "167"]
["id1", "carter", "203"]
["id1", "jason", "188"]
["id2", "paul", "178"]
["id3", "Jordan", "190"]
池模板
[
{
"id": "id1",
"devices": [
]
},
{
"id": "id2",
"devices": [
]
},
{
"id": "id3",
"devices": [
]
}
]
此处:
您正在修改相同的
aTempJson
dict,并将其反复附加到列表中。你要做的是为每个项目创建一个新的dict。你知道吗相关问题 更多 >
编程相关推荐