PROGRESS
8 / 10
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 08 #388
파이썬 기본 json 모듈을 이용하여 딕셔너리 데이터를 JSON 파일로 저장하고 다시 읽는 프로그램입니다. 빈칸을 채우세요.
main.py
import json
# 저장할 데이터 (딕셔너리)
student = {
"이름": "김민수",
"나이": 16,
"과목": ["수학", "영어", "과학"]
}
# JSON 파일로 저장
with open('/tmp/student.json', 'w') as f:
json.(student, f, ensure_ascii=False, indent=2)
# JSON 파일 읽기
with open('/tmp/student.json', 'r') as f:
loaded = json.(f)
print("이름:", loaded["이름"])
print("과목 수:", len(loaded["과목"]))
HINT
힌트: JSON 파일에 데이터를 쏟아 넣는다는 의미의 dump(), 파일에서 데이터를 불러온다는 의미의 load()를 사용합니다.
실행 결과 예시
이름: 김민수 과목 수: 3
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
파이썬 json 모듈
json 모듈은 파이썬에 기본 내장된 모듈로, JSON 형식의 데이터를 다룹니다.
4가지 핵심 함수
| 함수 | 방향 | 대상 |
|---|---|---|
json.dump() |
파이썬 → 파일 | 파일에 저장 |
json.load() |
파일 → 파이썬 | 파일에서 읽기 |
json.dumps() |
파이썬 → 문자열 | 문자열로 변환 |
json.loads() |
문자열 → 파이썬 | 문자열에서 변환 |
dump()와 load() 짝꿍
# 저장: dump (파이썬 → 파일)
with open('data.json', 'w') as f:
json.dump(data, f)
# 읽기: load (파일 → 파이썬)
with open('data.json', 'r') as f:
data = json.load(f)
dump() 주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
ensure_ascii=False |
한글 그대로 저장 | 필수! |
indent=2 |
들여쓰기 (보기 좋게) | 사람이 읽을 때 |
# indent 없이 저장 (한 줄)
{"이름":"민수","나이":16,"과목":["수학","영어"]}
# indent=2로 저장 (보기 좋게)
{
"이름": "민수",
"나이": 16,
"과목": [
"수학",
"영어"
]
}
파이썬 ↔ JSON 자료형 대응
| 파이썬 | JSON |
|---|---|
dict |
object {} |
list |
array [] |
str |
string "" |
int, float |
number |
True / False |
true / false |
None |
null |
pandas vs json 모듈
| 비교 | pandas | json 모듈 |
|---|---|---|
| 용도 | 표(테이블) 데이터 | 모든 구조의 데이터 |
| 결과 | 데이터프레임 | 딕셔너리/리스트 |
| 중첩 구조 | 제한적 | 자유롭게 처리 |
💡 핵심: 표 형태 데이터는 pandas, 자유로운 구조의 데이터는 json 모듈을 사용하세요.