【发布时间】:2020-06-12 05:48:20
【问题描述】:
我不知道如何使用 forloop 迭代这些 json 文件,我尝试了它打印所有内容,但我只需要打印 id 和类。
for (k, v) in bin3.items():
if k == 'ID':
print(v)
上面的代码没有打印任何东西。
这是我的 json 文件内容
{
"content": {
"ID": "stringIdentity:@5",
"class": 1,
"annotations": [
{
"ID": 1,
"class": 2,
"body": ""
}]}}
dir_with_bin_folder=[]
for root, directories, files in os.walk(directory):
for filename in files:
if filename=='@3.bin':
with open(root+'/'+filename) as json_file:
bin3 = json.load(json_file)
df = pd.read_json(root+'/'+filename)
print(filename)
print(bin3)
annotations=bin3['annotations']
bin3_content=(bin3['content'])
bin3_IID=(bin3['ID')
bin3_class=(bin3['class'])
for i in annotations:
bin3_ID=(i['ID'])
bin3_class=(i['class'])
bin3_body=(i['body'])
print(bin3_ID)
我在上面也试过了,但我得到了键值错误
【问题讨论】:
-
json 可以加载为 python
dict。然后可以轻松访问内容。您要提取什么内容? -
我没有看到任何你可以在这个 JSON 中循环的东西......你需要一个迭代来循环(比如一个列表),而不是一个 JSON/字典。
-
也许你想做this之类的事情?