파이썬 CSV 파일 읽기 쓰기 완전정리: 실전 활용과 꿀팁 총정리!
파이썬 CSV 파일 읽기, 쓰기, 아직도 어렵게 느껴지시나요? 이 글 하나로 csv 파일의 기본 개념부터 읽기/쓰기 실전 예제, DictReader/DictWriter 활용, 인코딩, 예외처리까지 완벽하게 정리해드립니다. CSV 파일은 데이터 분석, 엑셀 연동, 시스템 간 데이터 교환 등 실무에서 가장 많이 쓰이는 포맷입니다. 파이썬의 csv 모듈만 제대로 알아도 데이터 업무가 훨씬 쉬워집니다.
많은 분들이 "csv.reader와 writer의 차이는?", "newline, encoding은 왜 신경 써야 하지?", "딕셔너리로 읽고 쓰는 방법은?" 등 다양한 고민을 하시죠. 이 글에서 모든 궁금증을 해결하세요!
📋 목차
- CSV 파일이란? 기본 구조와 특징
- CSV 파일 읽기: reader, DictReader
- CSV 파일 쓰기: writer, DictWriter
- 인코딩과 newline, 실전 예외처리
- 실전 활용 꿀팁과 주의사항
🔍CSV 파일이란? 기본 구조와 특징
CSV(Comma Separated Values)는 각 열이 쉼표로 구분된 텍스트 파일입니다. 데이터베이스, 엑셀, 다양한 시스템에서 손쉽게 읽고 쓸 수 있어 데이터 교환에 최적화되어 있습니다.
- 텍스트 파일이므로 어디서나 열 수 있음
- 각 행은 레코드, 각 열은 필드(속성)
- 파이썬 csv 모듈로 쉽고 빠르게 처리 가능
한줄 요약: CSV는 범용 데이터 교환용 표준 텍스트 파일!
📝CSV 파일 읽기: reader, DictReader
파이썬에서 CSV 파일을 읽으려면 csv.reader() 또는 csv.DictReader()를 사용합니다.
기본 예제:
import csv
with open('example.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader) # 헤더 읽기
for row in reader:
print(row) # 각 행은 리스트 형태
딕셔너리 형태로 읽으려면 DictReader를 사용합니다.
with open('example.csv', 'r', encoding='utf-8') as f: reader = csv.DictReader(f) for row in reader: print(row) # 각 행은 dict 형태
한줄 요약: reader는 리스트, DictReader는 딕셔너리로 읽기!
💾CSV 파일 쓰기: writer, DictWriter
CSV 파일을 쓸 때는 csv.writer() 또는 csv.DictWriter()를 사용합니다.
리스트 형태로 쓰는 예제:
import csv
data = [['이름', '나이', '성별'], ['YOUNG', 25, 'Male'], ['Emily', 28, 'Female']]
with open('output.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(data)
딕셔너리 형태로 쓸 때는 fieldnames를 지정해야 합니다.
import csv
data = [
{'이름': 'YOUNG', '나이': 25, '성별': 'Male'},
{'이름': 'Emily', '나이': 28, '성별': 'Female'}
]
with open('output.csv', 'w', newline='', encoding='utf-8') as f:
fieldnames = ['이름', '나이', '성별']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
한줄 요약: writer/DictWriter로 다양한 형태의 데이터 쓰기!
⚡인코딩과 newline, 실전 예외처리
CSV 파일을 다룰 때 encoding='utf-8', newline='' 옵션은 필수입니다. 인코딩을 지정하지 않으면 한글 깨짐, newline을 빼면 윈도우에서 빈 줄이 추가되는 문제가 발생할 수 있습니다.
with open('data.csv', 'r', encoding='utf-8', newline='') as f: reader = csv.reader(f) # 파일 읽기 코드
파일이 없거나 데이터 형식이 잘못될 경우를 대비해 try-except로 예외처리를 추가하면 더욱 안전합니다.
한줄 요약: encoding, newline, 예외처리로 실전 문제 예방!
💡실전 활용 꿀팁과 주의사항
- csv.reader/DictReader: 파일을 한 줄씩 읽으므로 대용량 파일에도 효율적
- csv.writer/DictWriter: newline='' 옵션 필수, 한글은 encoding='utf-8' 권장
- 구분자 변경은 delimiter 옵션 사용(예: 탭, 파이프 등)
- 헤더가 없는 파일은 next()로 첫 줄 건너뛰기
- 데이터 필터링, 타입 변환 등은 for문 내에서 처리
- csv.reader/DictReader로 읽기, writer/DictWriter로 쓰기
- encoding, newline, delimiter 등 옵션 신경쓰기
- 실전에서는 예외처리와 데이터 전처리까지 꼼꼼하게!
한줄 요약: csv 모듈만 알아도 데이터 업무가 쉬워집니다!
- csv.reader/DictReader, writer/DictWriter로 간단하게 읽고 쓰기
- encoding, newline, delimiter 등 옵션 신경쓰기
- 실전에서는 예외처리, 데이터 전처리까지 꼼꼼하게!
도움이 되셨다면 공감♥ 눌러주세요!
파이썬 CSV 파일 읽기 쓰기, 이제 완벽하게 이해하셨나요? 다음 글에서는 pandas로 더 강력한 CSV 처리, 대용량 데이터 분석, 실전 자동화 예제까지 다룰 예정입니다. 궁금한 점이나 추가 질문은 댓글로 남겨주세요! 구독과 알림 설정도 잊지 마세요.
#파이썬CSV #CSV읽기 #CSV쓰기 #csv모듈 #DictReader #DictWriter #파이썬데이터 #파일입출력 #파이썬기초 #파이썬2025
'IT silo' 카테고리의 다른 글
파이썬 for 반복문 완전정복: 기초부터 실전까지 한 번에 배우기 (2) | 2025.06.28 |
---|---|
파이썬 if elif else 조건문 마스터: 실전 활용 완전정복 (1) | 2025.06.28 |
파이썬 들여쓰기 규칙 완전정복: 문법 오류 없이 깔끔한 코드 작성법 (1) | 2025.06.28 |
파이썬 튜플 vs 리스트 차이점 완벽정리: 언제, 왜, 어떻게 써야 할까? (0) | 2025.06.28 |
파이썬 주석 작성법과 규칙: 한 번에 끝내는 실전 가이드 (0) | 2025.06.28 |