[Python] JSON 파일 읽고 쓰기 - json.dump/load, HDF5, 파일 형식 비교
by 우와한개발자
[ JSON 파일 읽고 쓰기 ]
1. JSON 파일이란?
- 데이터를 키:값 형태로 저장하는 텍스트 기반 데이터 형식
- 파이썬의 json 모듈을 사용하여 읽고 쓸 수 있음
2. JSON 쓰기
1) json.dump()
- 파이썬 객체를 JSON 파일로 저장
import json
data = {'name': '홍길동', 'age': 30}
with open('data.json', 'w') as f:
json.dump(data, f, indent=4) # indent로 들여쓰기 지정
2) default 훅
- 기본적으로 직렬화되지 않는 객체(예: 클래스 인스턴스)를 JSON으로 변환할 때 사용
def custom_encoder(obj):
return obj.__dict__
json.dump(data, f, default=custom_encoder)
3. JSON 읽기
1) json.load()
- JSON 파일을 파이썬 딕셔너리로 읽기
with open('data.json', 'r') as f:
data = json.load(f)
2) object_hook
- 읽어온 JSON 데이터를 특정 객체로 변환할 때 사용
def custom_decoder(d):
return MyClass(**d)
with open('data.json', 'r') as f:
data = json.load(f, object_hook=custom_decoder)
[ HDF5(또는 H5) ]
1. HDF5(H5)란?
- 대용량 데이터를 빠르게 읽고 쓰기 위한 바이너리 파일 형식
- 텍스트 파일로 열 수 없으며, 일반적으로 판다스의 read_hdf() 를 통해 사용
- 텍스트 기반 파일(CSV 등)보다 읽기 속도가 빠름
- 실무에서 사용 빈도는 낮은 편
| 구분 | HDFS | HDF5 |
| 용도 | 분산 파일 시스템 (빅데이터) | 과학/수치 데이터 저장 포맷 |
| 사용 환경 | 하둡 클러스터 | 로컬 또는 단일 파일 |
2. HDF5 사용법
- tables 라이브러리 설치 필요 (pip install tables)
- pandas.DataFrame.to_hdf() / pd.read_hdf() 예시 코드
import pandas as pd
# 저장
df.to_hdf('data.h5', key='df', mode='w')
# 읽기
df = pd.read_hdf('data.h5', key='df')
[ 파일 형식 비교 ]
| 구분 | CSV | Pickle | HDF5 |
| 저장 형식 | 텍스트 | 바이너리 | 바이너리 |
| 읽기 속도 | 느림 | 보통 | 빠름 |
| 대용량 적합 | ❌ | △ | ✅ |
| 다른 언어 호환 | ✅ | ❌ | ✅ |
'언어 > Python' 카테고리의 다른 글
| [Python] pandas로 Oracle 데이터 읽기 - read_sql, DataFrame (0) | 2026.04.19 |
|---|---|
| [Python] 오라클 DB 연결 - pip install oracledb / Connect, Cursor, Row 객체 (0) | 2026.04.19 |
| [Python] CSV 파일 읽고 쓰기 - csv.reader, DictReader, DictWriter (0) | 2026.04.19 |
| [Python] 파일 읽고 쓰기 - %%writefile, open(), read/write, 피클(pickle) (0) | 2026.04.19 |
| [Python] 예외처리 - try/except, raise, 추상클래스, 사용자 정의 예외 (0) | 2026.04.19 |
블로그의 정보
우와한개발자 님의 블로그
우와한개발자