파이썬 json 딕셔너리 파일 저장 읽기 가져오기
파이썬을 사용하녀 json 파일을 다루기 위해서는 json 모듈을 사용할 수 있습니다. json은 파이썬에서 dict 형태로 쓰이는 키(key), 값(value)의 쌍으로 구성된 타입을 말합니다. 이 dict(딕셔너리) 형태의 json을 파일로 저장을 했다가 불러와서 사용을 하는 방법에 대해서 알아보도록 하겠습니다.
import json
test_js = {'test1': '문자열',
'test2': 1000,
'test3': [1, 2, 3, 4, 5],
'test4': {'A': "hello"}}
# 아스키 코드 활성화
with open("test_js1.json", 'w', encoding='utf-8') as save:
json.dump(test_js, save)
# 아스키 코드 비활성화
with open("test_js2.json", 'w', encoding='utf-8') as save:
json.dump(test_js, save, ensure_ascii=False)
먼저 테스트로 test_js 변수를 만들어 줍니다. 내부에는 딕셔너리를 만들어서 넣어줬습니다. 이러한 딕셔너리 데이터를 저장할 때 두 가지 방법이 있는데 간단하게 아스키코드로 저장을 할 건지, 일반 텍스트로 저장을 할 건지를 정할 수 있습니다.
아스키코드화가 되었을 때와 안되었을 때의 차이는 아래에서 보여주도록 하고 파이썬 내에서 만들어진 딕셔너리를 json 파일로 저장을 시키기 위해서는 json 모듈을 불러와서 dump 함수를 사용하면 됩니다. 각각 test_js1, test_js2로 json 파일 저장을 진행하였고 아스키 코드 True, False 두 형태로 각각 저장을 하였습니다.
두 개의 json 파일이 저장되었는데 메모장으로도 json 파일을 열어볼 수 있습니다.
이렇게 메모장을 열여본 결과 각각 두 가지 형태의 json을 볼 수 있겠는데요. 좌측에 한글로 된 문자열이 이상한 코드로 변환되어 저장된 것이 아스키 코드화가 되어서 저장이 된 케이스입니다. 그리고 우측은 아스키코드를 비활성화시켰을 때 그대로 문자열이 저장된 것입니다.
결과적으로 "\ubb38\uc790\uc5f4" = "문자열" 이라는 것이 되겠죠.
import json
# 아스키 코드로 저장된 json 불러오기
with open("test_js1.json", 'r', encoding='utf-8') as save:
data_load = json.load(save)
print(data_load)
==결과==
{'test1': '문자열', 'test2': 1000, 'test3': [1, 2, 3, 4, 5], 'test4': {'A': 'hello'}}
그러나 아스키 코드로 변환된 json 파일의 경우에 파이썬에서 불러왔을 때는 정상적으로 한글화가 된 상태로 불러오게 됩니다.
파이썬에서는 이 dict(딕셔너리)로 되어있는 자료형을 자주 쓰기 때문에 프로그램을 다음에도 실행했을 때 다시 불러와야 하는 경우가 있는 데이터가 있다면 dict 자료형으로 json 파일로 저장을 시키고 다시 불러오는 방법을 사용하는 것을 추천합니다.
'파이썬 기초' 카테고리의 다른 글
파이썬 python 정규표현식 (정규식) 문자열 추출 예제 정리 (0) | 2023.01.05 |
---|---|
파이썬 python 프로그래밍 개요 장점 및 기초 (0) | 2023.01.02 |
파이썬 에러 대처 예외 처리 중첩 이중 try except (0) | 2022.12.04 |
파이썬 스레드 쓰레드 (thread) 및 대기열 (queue) (0) | 2022.11.13 |
파이썬 라이브러리 모듈 다운로드 및 import 사용 방법 (0) | 2022.11.01 |