[Python] json 형식 데이터에서 특정 데이터들 추출
조회수 2818회
json 형식 데이터를 받았을때 원하는 값을 추출하려하는데 어려움이 있어서 질문드립니다. : )
예시 :
[
{
"date": "2020-12-26",
"year": 2020,
"quarter": 1,
"class": {
"name": [
{
"code": "영수",
"values": 15
},
{
"code": "희민",
"values": 16
}
]
}
}
]
해당 데이터에서 code
값이 "영수"
이면 "영수"
와 values
를 추출하고싶습니다.
어떤식으로 할 수 있는지 질문드립니다.
1 답변
-
걍 한꺼풀씩 보면서 하면 될텐데, 어떤 점이 궁금한 건지 잘 모르겠네요.
t = """ [ { "date": "2020-12-26", "year": 2020, "quarter": 1, "class": { "name": [ { "code": "영수", "values": 15 }, { "code": "희민", "values": 16 } ] } } ] """ import json d = json.loads(t) print(d) print(d[0]) print(d[0]["class"]["name"]) print([ cv for cv in d[0]["class"]["name"] if cv["code"] == "영수" ])
t = """ [ { "date": "2020-12-26", "year": 2020, "quarter": 1, "class": { "name": [ { "code": "영수", "values": 15 }, { "code": "희민", "values": 16 } ] } }, { "date": "2020-12-26", "year": 2020, "quarter": 1, "class": { "name": [ { "code": "영수", "values": 15 }, { "code": "희민", "values": 16 } ] } } ] """ import json d = json.loads(t) print(d) print([e for e in d]) print([ e["class"]["name"] for e in d]) print([ cv for e in d for cv in e["class"]["name"] if cv["code"] == "영수" ])
댓글 입력