Python입출력과 예외

JSON과 CSV 파일 처리 기본

구조화된 데이터를 파일로 저장하고 읽어 올 때 자주 쓰는 Python `json`과 `csv` 기본 패턴입니다.

마지막 수정 2026년 3월 19일

기본 패턴

python
import json

data = {"name": "Mina", "score": 95}

with open("student.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

설명

  • json은 딕셔너리와 리스트 같은 구조를 텍스트 파일로 저장하고 읽는 데 자주 씁니다.
  • csv는 표 형태 데이터를 행 단위로 다룰 때 유용합니다.
  • 두 형식 모두 "코드 안의 자료구조"와 "파일 안의 표현" 사이를 오가는 작업이라고 이해하면 됩니다.
  • 파일 인코딩, 구분자, 헤더 유무 같은 실제 파일 형식 차이를 함께 고려해야 합니다.

짧은 예제

python
import csv

with open("scores.csv", newline="", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row["name"], row["score"])

빠른 정리

형식잘 맞는 상황
JSON중첩 구조 데이터 저장/교환
CSV표 형태 데이터 행 단위 처리
json.dump/load파일 저장/읽기
csv.DictReader열 이름 기준 읽기

공식 참고: json — JSON encoder and decoder, csv — CSV File Reading and Writing

주의할 점

파일 형식은 단순해 보여도 인코딩, 헤더, 비어 있는 값 처리에서 자주 문제가 납니다. 특히 CSV는 실제 데이터에 쉼표와 줄바꿈이 들어갈 수 있다는 점을 늘 염두에 두는 편이 좋습니다.