기본 패턴
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는 실제 데이터에 쉼표와 줄바꿈이 들어갈 수 있다는 점을 늘 염두에 두는 편이 좋습니다.