728x90
CSV와 JSON은 데이터 저장과 전송에서 가장 널리 사용되는 형식입니다. 파이썬은 csv
와 json
모듈을 통해 이들을 손쉽게 읽고 쓸 수 있도록 지원합니다. 특히 실무에서는 파일 인코딩, 중첩 구조, 필드 이름 처리 등 다양한 세부 제어가 필요합니다.
● CSV 파일 읽기
csv 모듈의 reader
를 사용하면 쉼표 구분 텍스트 파일을 한 줄씩 읽을 수 있습니다.
import csv
with open("data.csv", newline='', encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
파일이 헤더를 포함하고 있다면 DictReader
를 사용하는 것이 더 직관적입니다.
with open("data.csv", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["name"], row["score"])
● CSV 파일 쓰기
with open("output.csv", "w", newline='', encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["name", "score"])
writer.writerow(["Alice", 95])
DictWriter
를 쓰면 딕셔너리 기반 데이터도 쉽게 기록할 수 있습니다.
with open("output.csv", "w", newline='', encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=["name", "score"])
writer.writeheader()
writer.writerow({"name": "Bob", "score": 88})
● JSON 파일 처리
JSON은 JavaScript Object Notation의 약자로, 중첩된 자료구조 표현에 매우 유리합니다.
import json
# 쓰기
data = {"name": "Alice", "age": 30}
with open("user.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=4, ensure_ascii=False)
# 읽기
with open("user.json", "r", encoding="utf-8") as f:
user = json.load(f)
print(user["name"])
JSON은 유니코드와 중첩 구조를 지원하기 때문에 API 통신이나 설정 파일에서 자주 활용됩니다.
● 마무리
CSV와 JSON은 각기 다른 특성을 가진 포맷입니다. CSV는 단순 표 형식에 적합하고, JSON은 중첩 구조와 유연한 키-값 저장에 적합합니다. 프로젝트에 따라 두 포맷을 적절히 선택하고, 파이썬의 내장 모듈을 활용하여 데이터를 안정적으로 입출력하는 습관을 길러야 합니다.
728x90
'프로그래밍언어 > 파이썬[중급]' 카테고리의 다른 글
[파이썬][중급] Chapter20. 엑셀 파일 처리(openpyxl, pandas) (0) | 2025.05.23 |
---|---|
[파이썬][중급] Chapter19. XML과 YAML 다루기 (0) | 2025.05.23 |
[파이썬][중급] Chapter17. set의 고급 활용 (0) | 2025.05.23 |
[파이썬][중급] Chapter16. heapq와 우선순위 큐 (0) | 2025.05.23 |
[파이썬][중급] Chapter14. collections 모듈 (deque, Counter 등) (0) | 2025.05.18 |