【发布时间】:2020-05-30 15:22:59
【问题描述】:
部分json文件内容如下:
{"ID": "PK45", "People": "Kate", "Date": "2020-01-05"}, {"ID": "OI85", "People": "John", "Date": "2020-01-18" }, {"ID": "CN658", "People": "Pevo", "Date": "2020-02-01" }
它有多个部分,包含“ID”、“人物”和“日期”。
我想做的是检索 John 的 ID(在本例中为“OI85”。)
如果密钥是唯一的,我可以使用:
data_content = json.loads(data)
ID = data_content['ID']
但是有多个相似的部分。所以我只能先找到“约翰”:
with open("C:\\the_file.json") as data_file:
data = data_file.read()
where = data.find('John')
where_1 = data[where - 20 : where]
ID = where_1[where_1.find('ID')+3:where_1.find('ID')+7]
print (ID)
看起来很笨拙。
从 .json 文件中的多个相似部分检索特定数据的智能 json 方法是什么?
谢谢。
【问题讨论】:
-
json 文件内容的那部分可能带有一些未显示的外部容器,例如列表。您可以使用内置的
json模块遍历该列表并提取其中每个 json 对象(字典)的值。