코드공부방

파이썬(python) 딕셔너리(dictionary) JSON 파일로 저장하기 본문

웹프로그래머/Python

파이썬(python) 딕셔너리(dictionary) JSON 파일로 저장하기

:- ) 2021. 9. 14. 15:12
반응형

데이터를 CSV형태로 저장하면 간단한 2차원 데이터밖에 표현할 수 없지만 JSON을 사용하면 list 또는 dict를 조합한 복잡한 데이터 구조를 쉽게 다룰 수 있다. 파이썬은 JSON(JavaScript Object Notation) 형식을 쉽게 다룰 수 있는 모듈을 제공한다. 

# json 모듈 로드
import json

persons = [
	{'name':'Han Byungik', 'age':35, 'hobby':'game'},
    {'name':'Park junkyu', 'age':34, 'hobby':'walk'},
    {'name':'Lee hyunbok', 'age':37, 'hobby':'talk'},
    {'name':'Yoon hyejun', 'age':37, 'hobby':'sleep'},
    {'name':'Han bin', 'age':39, 'hobby':'soccer'},
]

print(json.dumps(persons))

위 코드를 실행하면 JSON 형식의 문자열을 출력한다.

JSON 형식의 문자열

JSON 형식의 결과물이 나오긴 했지만 보기에 친절해보이진 않는다. 이때 json.dumps() 함수에 indent 매개변수를 추가해주면 코드블럭마다 4개의 공백으로 들여써주기가 되어 아름답게 출력이 가능하다. 

print(json.dumps(persons, indent=4))

정리된 JSON 형식의 문자열

그리고 이 결과물을 단순히 출력하는 것이 아닌 json파일로 저장할때는 json.dump() 함수를 사용하면 된다.

# json 모듈 로드
import json

persons = [
	{'name':'Han Byungik', 'age':35, 'hobby':'game'},
    {'name':'Park junkyu', 'age':34, 'hobby':'walk'},
    {'name':'Lee hyunbok', 'age':37, 'hobby':'talk'},
    {'name':'Yoon hyejun', 'age':37, 'hobby':'sleep'},
    {'name':'Han bin', 'age':39, 'hobby':'soccer'},
]

# json 파일로 저장
with open('persons.json', 'w') as f : 
	json.dump(persons, f, indent=4)

지정한 경로/파일명으로 json 파일이 생성되었다.
생성된 json 파일을 열어보니 아름답게 들여쓰기가 되어 있다.

 

반응형
Comments