JSON 형식으로 저장하기 : to_json()

30 P
QUESTION 04 #384
데이터프레임을 JSON 파일로 저장하고 내용을 확인하는 프로그램입니다. 빈칸을 채우세요.
main.py
import pandas as pd

df = pd.DataFrame({
    '메뉴': ['아메리카노', '라떼'],
    '가격': [2000, 2500]
})

# JSON 파일로 저장합니다.
df.('/tmp/menu.json', orient='records', force_ascii=False)

# 저장된 파일 내용 확인
with open('/tmp/menu.json', 'r') as f:
    print(f.read())
실행 결과 예시
[{"메뉴":"아메리카노","가격":2000},{"메뉴":"라떼","가격":2500}]
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

JSON 파일이란?

JSONJavaScript Object Notation의 약자로, 웹에서 데이터를 주고받을 때 가장 많이 사용되는 형식입니다.

JSON의 구조

[
  {"메뉴": "아메리카노", "가격": 2000},
  {"메뉴": "라떼", "가격": 2500}
]

파이썬의 딕셔너리 리스트와 구조가 거의 같습니다.

to_json() 기본 문법

df.to_json("파일경로", orient="records", force_ascii=False)

orient 옵션에 따른 결과 차이

orient 형태 결과
'records' 행 단위 리스트 [{"메뉴":"아메리카노","가격":2000}, ...]
'columns' 열 단위 딕셔너리 {"메뉴":{"0":"아메리카노",...},"가격":{...}}
'index' 인덱스 기준 {"0":{"메뉴":"아메리카노",...}, ...}

실무에서는 records를 가장 많이 사용합니다.

force_ascii 옵션

# force_ascii=True (기본값): 한글이 유니코드로 변환
→ {"\uba54\ub274": "\uc544\uba54\ub9ac\uce74\ub178"}

# force_ascii=False: 한글 그대로 저장
→ {"메뉴": "아메리카노"}

CSV vs JSON 비교

비교 CSV JSON
형태 표 (행과 열) 딕셔너리/리스트
가독성 단순 데이터에 적합 계층 구조에 적합
용도 통계, 분석 웹 API, 설정 파일
용량 작음 상대적으로 큼

💡 핵심: 한글 JSON 저장 시 반드시 force_ascii=False를 지정하세요.