본문 바로가기

라이브러리

파이썬(Python) csv 사용법 정리

Python의 csv 라이브러리는 CSV(Comma Separated Values) 형식으로 작성된 데이터를 쉽게 다룰 수 있도록 해주는 모듈입니다. 이 라이브러리는 CSV 파일을 읽고 쓰는 데 사용됩니다.

CSV 파일은 엑셀 등 스프레드시트 프로그램에서도 자주 사용되며, 데이터를 테이블 형식으로 저장합니다. 각 행은 개행 문자로 구분되며, 각 열은 쉼표로 구분됩니다.

1. 기본 사용법

아래는 Python의 csv 라이브러리를 사용하여 CSV 파일을 읽고 쓰는 예시 코드입니다.

1) CSV 파일 읽기

import csv

with open('example.csv', 'r') as csvfile:
    csvreader = csv.reader(csvfile)
    for row in csvreader:
        print(row)

위 코드는 'example.csv' 파일을 읽고, 각 행을 리스트로 변환하여 출력합니다.


2) CSV 파일 쓰기

import csv

with open('example.csv', 'w', newline='') as csvfile:
    csvwriter = csv.writer(csvfile)
    csvwriter.writerow(['Name', 'Age', 'Gender'])
    csvwriter.writerow(['John', '25', 'Male'])
    csvwriter.writerow(['Jane', '30', 'Female'])

위 코드는 'example.csv' 파일을 열어, 리스트를 csv 형태로 변환하여 파일에 씁니다.

2. 기타 함수

1) csv.reader()


csv.reader() 함수는 CSV 파일을 읽어와서, 각 행을 리스트로 변환합니다. 이 함수는 CSV 파일 객체를 인자로 받으며, 인자로는 파일 경로나 파일 객체 등이 가능합니다.

import csv

with open('example.csv', 'r') as csvfile:
    csvreader = csv.reader(csvfile)
    for row in csvreader:
        print(row)


위 코드에서 csv.reader() 함수는 'example.csv' 파일을 읽어와서 각 행을 리스트로 변환합니다. 그리고 for문을 사용하여 각 행을 출력합니다.


2) csv.writer()


csv.writer() 함수는 CSV 파일을 생성하고, 각 행을 리스트로 작성하여 파일에 씁니다. 이 함수는 CSV 파일 객체와 리스트 형식의 데이터를 인자로 받습니다.

import csv

with open('example.csv', 'w', newline='') as csvfile:
    csvwriter = csv.writer(csvfile)
    csvwriter.writerow(['Name', 'Age', 'Gender'])
    csvwriter.writerow(['John', '25', 'Male'])
    csvwriter.writerow(['Jane', '30', 'Female'])


위 코드에서 csv.writer() 함수는 'example.csv' 파일을 생성하고, 각 행을 리스트로 작성하여 파일에 씁니다.


3) csv.DictReader()

csv.DictReader() 함수는 CSV 파일을 읽어와서 각 행을 딕셔너리 형식으로 변환합니다. 이 함수는 CSV 파일 객체를 인자로 받으며, 첫 번째 행이 딕셔너리의 키로 사용됩니다.

import csv

with open('example.csv', 'r') as csvfile:
    csvreader = csv.DictReader(csvfile)
    for row in csvreader:
        print(row['Name'], row['Age'], row['Gender'])


위 코드에서 csv.DictReader() 함수는 'example.csv' 파일을 읽어와서 각 행을 딕셔너리 형식으로 변환합니다. 그리고 for문을 사용하여 딕셔너리의 각 값을 출력합니다.


4) csv.DictWriter()

csv.DictWriter() 함수는 CSV 파일을 생성하고, 각 행을 딕셔너리 형식으로 작성하여 파일에 씁니다. 이 함수는 CSV 파일 객체와 딕셔너리 형식의 데이터를 인자로 받습니다.

import csv

with open('example.csv', 'w', newline='') as csvfile:
    fieldnames = ['Name', 'Age', 'Gender']
    csvwriter = csv.DictWriter(csvfile, fieldnames=fieldnames)
    csvwriter.writeheader()
    csvwriter.writerow({'Name': 'John', 'Age': '25', 'Gender': 'Male'})
    csvwriter.writerow({'Name': 'Jane', 'Age': '30', 'Gender': 'Female'})


위 코드에서 csv.DictWriter() 함수는 'example.csv' 파일을 생성하고, 각 행을 딕셔너리 형식에서 csv형식으로 변환하여 파일에 씁니다.