08.개발&프로그래밍/1.파이썬
6. 파이썬 파일 처리: CSV & JSON 입출력
JWJ Family
2025. 7. 12. 16:35
728x90
csv와 json 모듈을 활용해 CSV/JSON 파일을 읽고, 쓰고, 변환하는 실전 예제를 정리했습니다.
1. CSV 파일 읽기와 쓰기
import csv
# CSV 읽기
with open('data.csv', 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
# CSV 쓰기
with open('out.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Age', 'City'])
writer.writerows([['John',28,'NY'], ['Alice',24,'LA']])
csv.reader, csv.writer를 통해 간단하게 CSV 파일 작업이 가능합니다.
2. DictReader와 DictWriter
import csv
with open('data.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(row['Name'], row['Age'])
with open('out.csv', 'w', newline='', encoding='utf-8') as f:
cols = ['Name','Age','City']
writer = csv.DictWriter(f, fieldnames=cols)
writer.writeheader()
writer.writerow({'Name':'Bob','Age':30,'City':'Chicago'})
Dict 기반으로 CSV 입출력을 하면 컬럼 접근이 직관적입니다.
3. CSV → JSON 변환
import csv, json
with open('in.csv','r', encoding='utf-8') as cf:
data = list(csv.DictReader(cf))
with open('out.json','w', encoding='utf-8') as jf:
json.dump(data, jf, indent=4)
각 행을 dict로 읽고, 이를 JSON 배열로 저장하는 표준 방식입니다.
4. JSON 파일 읽기와 쓰기
import json
# JSON 읽기
with open('data.json','r', encoding='utf-8') as f:
obj = json.load(f)
print(obj)
# JSON 쓰기
data = {'name':'Alice','age':25,'skills':['Python','SQL']}
with open('out.json','w', encoding='utf-8') as f:
json.dump(data, f, indent=2)
json.load/dump로 Python 객체 ↔ JSON 파일로 직관적 변환이 가능합니다.
요약 및 다음 글 예고
- csv:
reader/writer,DictReader/DictWriter로 유연한 CSV 입출력 - json:
load/dump를 이용했으며, CSV ↔ JSON 변환도 가능
🎯 다음 글에서는 함수형 프로그래밍(map, filter, zip, reduce)을 깊이 있게 살펴보겠습니다!
반응형