욤미의 개발일지
[Python] 파이썬으로 JSON 파일 만들기 본문
728x90
반응형
[Python] 파이썬으로 JSON 파일 만들기
- JSON 파일을 다루기 위한 라이브러리 import
- collections 라이브러리에서 OrderedDict 함수를 불러오기
- 파이썬의 딕셔너리 자료형은 키값의 ABC순으로 자동으로 정렬이 되는데 자동정렬을 하지 말아야 할 경우가 있기 때문에 OrderedDict를 사용한다.
- OrderedDict 객체를 생성해주고 key, value를 추가한다.
- 객체를 저장할 파일을 연다.
- w : 파일을 쓰기 모드로 열기
- encoding="utf-8" : 파일을 UTF-8 인코딩으로 저장
- 데이터를 JSON 형식으로 변환하여 저장한다.
- ensure_ascii=False : 유니코드가 아스키 문자로 변환되지 않도록 한다.
- indent='\t': 탭 문자로 들여쓰기한다. 이 옵션을 안적으면 데이터가 한 줄에 저장된다.
- 코드
import json
from collections import OrderedDict
fdata = OrderedDict() # 객체 생성
fdata['name'] = 'Young'
fdata['lang'] = 'Kor'
fdata['class'] = {'class1':'English', 'class2':'Programming', 'class3':'Algorithm', 'class4':'Data Structure'}
fdata['number'] = 11
# json 파일로 저장
savepath = 'student.json'
with open(savepath, 'w', encoding='utf-8') as f:
json.dump(fdata, f, ensure_ascii=False, indent='\t')
print(json.dumps(fdata, ensure_ascii=False, indent='\t')) # json 형태로 잘 생성되었는지 확인
- 파일로 저장하기 전에 json.dumps로 json이 잘 생성 되었는지 확인할 수 있다.
- 화면에 출력할 때는 `json.dumps`를 사용하지만, 파일로 저장할 때는 `json.dump`로 끝에 s가 없다.
728x90
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬의 정렬 (0) | 2023.02.23 |
---|---|
[Python] 재귀 함수(Recursive Function) (0) | 2023.02.20 |
[Python] Split - 문자열을 리스트로 만들기 (1) | 2022.09.23 |
[Python] Join - 리스트를 문자열로 만들기 (0) | 2022.09.23 |
[Python] 2차원 리스트 90도 회전 (1) | 2022.09.23 |
Comments