웹프로그래머/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.dumps() 함수에 indent 매개변수를 추가해주면 코드블럭마다 4개의 공백으로 들여써주기가 되어 아름답게 출력이 가능하다.
print(json.dumps(persons, indent=4))
그리고 이 결과물을 단순히 출력하는 것이 아닌 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)
반응형