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)을 깊이 있게 살펴보겠습니다!

 

반응형