728x90
[Python] JSON 파일 파싱하기
데이터 교환 형식으로 JSON을 많이 사용하고 있는데,
Python에서 이를 파싱하여 데이터를 처리하는 방법을 알아보고자 한다.
먼저 json 라이브러리를 import 해준다.
import json
다음과 같은 JSON 데이터가 있다고 가정해보자.
{
"person": {
"name": "John Doe",
"age": 30,
"address": {
"city": "New York",
"zipcode": "10001"
},
"contacts": [
{
"type": "email",
"value": "john@example.com"
},
{
"type": "phone",
"value": "555-1234"
}
]
}
}
단일 값 파싱
하나의 값에 접근하는 방법은 다음과 같다.
예를 들어 이름과 나이를 추출하기 위해선 아래 방법을 사용하면 된다.
name = json_data['person']['name']
age = json_data['person']['age']
print(f"이름: {name}, 나이: {age}")
중첩된 값 파싱
중첩된 값을 추출하는 방법은 다음과 같다.
city = json_data['person']['address']['city']
zipcode = json_data['person']['address']['zipcode']
print(f'도시: {city}, 우편번호: {zipcode}')
배열 값 파싱
배열값 또한 파싱이 가능하다.
예를 들어, 연락처에서 이메일을 추출하는 경우는 다음과 같이 할 수 있다.
email = json_data['person']['contacts'][0]['value']
print(f'이메일: {email}')
+) 에러 처리
실제로 데이터가 없는 경우는 다음과 같이 예외처리 할 수 있다.
try:
value = json_data['key']
except KeyError:
print('키가 존재하지 않습니다.')
except Exception as e:
print(f'에러 발생: {e}')
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] Zip() (0) | 2024.03.20 |
---|---|
[Python] ImportError: cannot import name 'JSONDecodeError' from 'requests.exceptions' (0) | 2024.02.07 |
[Python] Requests (0) | 2024.01.29 |
[Python] With문 (0) | 2024.01.23 |
[Python] 주피터 랩 설치 (JupyterLab) (1) | 2024.01.22 |