访问多个文件中嵌套字典中的值?
Accessing values in nested dictionaries within multiple files?
我有一个包含二十个 .png 文件和一个 .json 文件的文件夹。
.json 文件如下所示
{
"ID":12,
"flags"={},
"shapes":[
{"label":"text",
"points":[[65, 14],[27, 40]],
}
],
"flags"={},
"shapes":[
{"label":"logo",
"points":[[165, 124],[207, 43]],
}
],
"flags"={},
"shapes":[
{"label":"text",
"points":[[54, 24],[17, 53]],
}
]
}
我想列出每个文件中的所有“标签”。我该怎么做?
我试过了
import os
import json
path_to_json = './'
contents=[]
for file_name in [file for file in os.listdir(path_to_json) if file.endswith('.json')]:
with open(path_to_json + file_name) as json_file:
data=json.load(json_file)
contents.append(data)
到这里为止一切正常,现在我需要获取“label”的值
并且以下部分不起作用
l=[]
for i in range(len(contents)):
label= contents[i]['shapes']['label']
l.append(label)
print(l)
shapes
是一个列表,因此您必须对其进行迭代:
l = []
for content in contents:
for shape in content['shapes']:
l.append(shape['label'])
print(l)
我有一个包含二十个 .png 文件和一个 .json 文件的文件夹。 .json 文件如下所示
{
"ID":12,
"flags"={},
"shapes":[
{"label":"text",
"points":[[65, 14],[27, 40]],
}
],
"flags"={},
"shapes":[
{"label":"logo",
"points":[[165, 124],[207, 43]],
}
],
"flags"={},
"shapes":[
{"label":"text",
"points":[[54, 24],[17, 53]],
}
]
}
我想列出每个文件中的所有“标签”。我该怎么做?
我试过了
import os
import json
path_to_json = './'
contents=[]
for file_name in [file for file in os.listdir(path_to_json) if file.endswith('.json')]:
with open(path_to_json + file_name) as json_file:
data=json.load(json_file)
contents.append(data)
到这里为止一切正常,现在我需要获取“label”的值 并且以下部分不起作用
l=[]
for i in range(len(contents)):
label= contents[i]['shapes']['label']
l.append(label)
print(l)
shapes
是一个列表,因此您必须对其进行迭代:
l = []
for content in contents:
for shape in content['shapes']:
l.append(shape['label'])
print(l)