PROGRESS
5 / 10
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 05 #385
JSON 파일을 읽어 데이터프레임으로 변환하는 프로그램입니다. 빈칸을 채우세요.
main.py
import pandas as pd
import json
# 테스트용 JSON 파일 생성
data = [
{"이름": "민수", "나이": 15, "취미": "코딩"},
{"이름": "서희", "나이": 16, "취미": "독서"},
{"이름": "지연", "나이": 15, "취미": "운동"}
]
with open('/tmp/students.json', 'w') as f:
json.dump(data, f, ensure_ascii=False)
# JSON 파일을 데이터프레임으로 읽어옵니다.
df = pd.('/tmp/students.json')
print(df)
print("\n학생 수:", len(df))
HINT
힌트: JSON 파일을 읽어 데이터프레임으로 만드는 함수는 read_json()입니다. pd 뒤에 점(.)을 찍고 사용합니다.
실행 결과 예시
이름 나이 취미 0 민수 15 코딩 1 서희 16 독서 2 지연 15 운동 학생 수: 3
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
read_json()으로 JSON 파일 읽기
pd.read_json()은 JSON 파일을 읽어 데이터프레임으로 변환하는 함수입니다.
기본 문법
df = pd.read_json("파일경로")
동작 과정
JSON 파일 (students.json):
[ 데이터프레임 (df):
{"이름": "민수", "나이": 15},
{"이름": "서희", "나이": 16}, 이름 나이 취미
{"이름": "지연", "나이": 15} 0 민수 15 코딩
] 1 서희 16 독서
↓ read_json() 2 지연 15 운동
Key → 열 이름
Value → 데이터
json 모듈 vs pandas read_json
# 방법 1: json 모듈 (파이썬 기본)
import json
with open('data.json', 'r') as f:
data = json.load(f) # 딕셔너리/리스트로 읽기
df = pd.DataFrame(data) # 수동 변환
# 방법 2: pandas read_json (한 줄로 해결)
df = pd.read_json('data.json')
JSON 파일의 형태에 따른 읽기
# 형태 1: 리스트 형태 (가장 일반적)
# [{"이름":"민수"}, {"이름":"서희"}]
df = pd.read_json("data.json")
# 형태 2: 중첩(nested) 구조
# {"학생": [{"이름":"민수"}, ...]}
import json
with open("data.json") as f:
raw = json.load(f)
df = pd.DataFrame(raw["학생"])
파일 형식별 읽기/쓰기 함수 정리
| 형식 | 읽기 | 쓰기 |
|---|---|---|
| CSV | pd.read_csv() |
df.to_csv() |
| JSON | pd.read_json() |
df.to_json() |
| Excel | pd.read_excel() |
df.to_excel() |
💡 핵심: JSON 읽기는
pd.read_json()한 줄이면 충분합니다.