python - 在多个 files 内的嵌套字典中访问 values?

我有一个包含 20 个 .png file 和一个 .json file 的文件夹。 .json file 如下所示

{
"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]],
}
]
}

我想为每个 file 中的所有“标签”制作一个 list。我怎样才能做到这一点?

我试过了

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)

到这里为止看起来还不错,现在我需要为“标签”获取 value 并且以下部分不起作用

l=[]
for i in range(len(contents)):
    label= contents[i]['shapes']['label']
    l.append(label)
print(l)

回答1

shapes 是一个 list,所以你必须遍历它:

l = []
for content in contents:
    for shape in content['shapes']:
        l.append(shape['label'])
print(l)

相似文章

windows - pgAdmin4 升级到 6.9 问题

以前,我在我的机器上安装了pgAdmin45.2版,今天我从网站下载了pgAdmin46.9版。它安装正确,没有错误,但最新版本的应用程序没有在我的机器上打开。以下是启动画面消失后我得到的错误信息:新...

随机推荐

最新文章