你好,我有一個 JSON 資料集,里面有一大堆這樣的條目:每個日期有多個條目看起來相同,只是不同的日期在該日期添加了多個人的條目。所以我可以通過使用獲取資訊
{json_content['12-1-2021'][0]['name']}
{'12-1-2021': [{'initials': 'IS',
'name': 'Sam',
'age': 23,
'address': 'Freedom Dr',
'city': 'Seattle',
'state': 'WA'},
{'initials': 'SD',
'name': 'Sed',
'age': 21,
'address': 'Washington Dr',
'city': 'Phoenix',
'state': 'AZ'}]}
我想以某種方式遍歷資料集并選擇例如沒有日期的所有住在西雅圖的人(也許稍后添加日期 - 還不確定是否有要求)。但如果不指定自開始以來的日期,我就無法做到這一點。
謝謝!
uj5u.com熱心網友回復:
如果您想要完整的人員記錄并且您有未來的約會范圍,那么我會建議使用以下代碼。
for date, person_records in json_content.items():
if isinstance(person_records, list):
for person in person_records:
if person.get("city") == "Seattle":
print(person)
uj5u.com熱心網友回復:
你絕對可以。由于您不關心字典的鍵,因此只需遍歷值:
names = [
person['name']
for date in json_content.values()
for person in date if person['city'] == 'Seattle'
]
如果您不想對 json 結構的有效性做出任何假設,除了檢查城市之外,您還可以在此程序中明確檢查它:
[
person['name']
for date in json_content.values() if isinstance(date, list)
for person in date if all([
isinstance(person, dict),
'name' in person,
'city' in person,
person['city'] == 'Seattle'])
]
這兩個['Sam']都可以為您提供示例 json。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/363096.html
標籤:Python
上一篇:Django顯示來自模型的視頻
下一篇:合并兩個不同的資料幀
