CSV(Comma-Separated Values) 파일은 테이블 형태의 데이터를 저장하는 데 널리 사용되는 파일 형식이다. 파이썬에서는
csv
모듈을 사용하여 CSV 파일을 쉽게 읽고 쓸 수 있다.
CSV 파일을 읽기 위해서는 csv.reader
를 사용한다. 이를 통해 파일의 각 행을 순회하며 데이터에 접근할 수 있다.
import csv
# CSV 파일 열기
with open('example.csv', newline='') as file:
reader = csv.reader(file)
for row in reader:
print(row)
이 코드는 example.csv
파일을 열고, 각 행을 순회하며 출력한다.
CSV 파일에 데이터를 쓰려면
csv.writer
를 사용한다. 이를 통해 데이터를 쉼표로 구분된 형식으로 파일에 저장할 수 있다.
import csv
# CSV 파일 쓰기
data = [['Name', 'Age'], ['Alice', 24], ['Bob', 22]]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
이 코드는 데이터를 output.csv
파일에 쓴다. 각 하위 리스트는 파일의 한 행을 나타낸다.
csv.DictReader
와 csv.DictWriter
는 딕셔너리 형태로 CSV 파일을 읽고 쓰는 데 사용된다. 이는 열 헤더를 키로 사용하여 데이터에 접근하기 쉽게 해준다.
import csv
# CSV 파일을 딕셔너리로 읽기
with open('example.csv', newline='') as file:
reader = csv.DictReader(file)
for row in reader:
print(row['Name'], row['Age'])
이 코드는 각 행을 딕셔너리로 읽어, 'Name'과 'Age' 열의 값을 출력한다.
import csv
# 딕셔너리를 CSV 파일로 쓰기
data = [{'Name': 'Alice', 'Age': 24}, {'Name': 'Bob', 'Age': 22}]
with open('output.csv', 'w', newline='') as file:
fieldnames = ['Name', 'Age']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
이 코드는 딕셔너리 데이터를 output.csv
파일에 쓴다. writeheader
메서드는 열 헤더를 파일에 쓴다.
CSV 파일은 데이터 분석, 데이터 저장, 데이터 교환 등 다양한 용도로 사용되며, 파이썬의 csv
모듈은 이러한 작업을 간편하게 만들어준다.
CSV 파일은 데이터 분석에서 자주 사용된다. pandas
같은 라이브러리와 함께 사용하면 데이터 처리 및 분석이 훨씬 간편해진다.
import pandas as pd
# Pandas로 CSV 파일 읽기
df = pd.read_csv('example.csv')
# 데이터 처리
print(df.head()) # 상위 5행 출력
print(df.describe()) # 기술통계 정보 출력
이러한 방식으로 CSV 파일을 다루면 데이터를 효율적으로 처리할 수 있으며, 데이터 과학 및 다양한 프로그래밍 프로젝트에 유용하게 활용될 수 있다.