파이썬에서 JSON 형태의 데이터를 다루는 법을 알아보겠습니다.
JSON 파일 읽기
JSON은 데이터를 전송 응답하는데 보편적으로 쓰이는 형식이며, Key와 Value가 쌍을 이루는 구조로 되어있습니다. 이러한 데이터 형식을 처리하기 위해 json 패키지를 import하여 loads() 메소드를 사용합니다.
다음은 예시 코드입니다.
import json
data = '{ "이름": "홍길동", "나이": 20 }'
json_data = json.loads(data)
print(json_data['이름'])
print(json_data['나이'])
json.loads()에 json 데이터를 인자로 넣어주면, python은 기본적으로 json을 Dictionary 형태로 변환합니다. 따라서 위와 같이 json_data의 key값으로 접근하여 print를 하여 실행하게 되면, 다음과 같은 결과가 나올것입니다.
홍길동
20
또한 json 형식 안에 List 형식은 List로 변환됩니다. 아래는 List를 읽어 for문을 이용하여 출력하는 예시입니다.
import json
data = '{"학생": [{"이름": "홍길동", "나이": 20}, {"이름": "김철수", "나이": 19}]}'
json_data = json.loads(data)
for student in json_data['학생']:
print(student['이름'])
print(student['나이'])
출력 결과는 다음과 같을 것입니다.
홍길동
20
김철수
18
JSON 파일로 변환
python의 자료 형에서 JSON 데이터 형식으로 변환하기 위해 json 패키지를 import하여 dumps() 메소드를 사용합니다.
다음은 예시 코드 입니다.
import json
student = {'이름': '홍길동', '나이': 20}
print(json.dumps(student))
print('')
print(json.dumps(student, indent=2))
파이썬의 Dictionary 자료 형식에서 json.dumps()를 호출하여 JSON형식의 String으로 변환합니다. indent를 지정하여 들여쓰기 수준의 옵션을 설정할 수 있습니다. 설정하지 않으면 default로 None 값이 들어가며 formating 되지 않은 문자열로 처리됩니다.
출력결과는 다음과 같을 것입니다.
{'이름': '홍길동', '나이': 20}
{
'이름': '홍길동',
'나이': 20
}
정리하면 다음과 같습니다.
JSON -> python 자료형 : json.loads()
python 자료형 -> JSON : json.dumps()
이상 python에서 JSON 데이터 처리 방법을 설명했습니다.
감사합니다 :)
추가+)
JavaScripts에서 JSON 데이터 처리
'개발 > python' 카테고리의 다른 글
ModuleNotFoundError: No module named 'hydra' 오류 해결 (0) | 2022.10.04 |
---|---|
[Jupyter Notebook] 주피터 노트북 폴더 옮기기 (0) | 2022.07.26 |
[Anaconda] 가상환경 실행오류 (CommandNotFoundError) (0) | 2022.02.11 |
[python] 딕셔너리(Dictionary)에 데이터 삽입, 삭제 (0) | 2020.10.22 |
[python] 파이썬 문자열 중 한 문자 바꾸기 (0) | 2020.10.22 |