파이썬을 이용한 CSV 파일 다루기는 데이터 과학이나 분석을 하는 데 있어 매우 중요한 부분입니다. CSV(Comma-Separated Values) 파일은 데이터를 특정 구분자, 일반적으로 쉼표(,)로 나누어 저장하는 방식으로, 각 행이 하나의 레코드를 나타냅니다. 이 형식은 간단하면서도 유연하여 다양한 프로그램과 호환됩니다. 이번 포스트에서는 파이썬에서 CSV 파일을 읽고, 쓰는 방법에 관해 알아보도록 하겠습니다.

CSV 파일 다루기: 파이썬 모듈
CSV 파일을 처리하기 위해 파이썬에서는 기본적으로 제공하는 csv
모듈과 데이터 분석에 유용한 pandas
라이브러리를 사용할 수 있습니다. 이 두 가지 방법을 통해 데이터를 CSV 형식으로 저장하고, 불러올 수 있는 방법을 자세히 살펴보겠습니다.
1. CSV 모듈 활용하기
파이썬의 기본 모듈인 csv
를 이용하여 간단하게 CSV 파일을 생성하고 데이터를 저장하는 과정을 확인해 보겠습니다.
먼저, 저장할 데이터를 준비합니다:
- 이름
- 나이
- 도시
예를 들어, 다음과 같은 데이터를 생각해 볼 수 있습니다:
data = [
['Alice', 25, '서울'],
['Bob', 30, '뉴욕'],
['Charlie', 35, '런던']
]
이제 이 데이터를 CSV 파일로 저장하는 코드를 작성해보겠습니다:
import csv
data = [
['Alice', 25, '서울'],
['Bob', 30, '뉴욕'],
['Charlie', 35, '런던']
]
with open('example.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['이름', '나이', '도시']) # 열 제목 작성
for row in data:
writer.writerow(row) # 데이터 행 추가
위의 코드를 실행하면 example.csv
라는 파일이 생성되고, 내용을 확인해보면 다음과 같이 나타납니다:
이름,나이,도시
Alice,25,서울
Bob,30,뉴욕
Charlie,35,런던
2. Pandas 모듈 활용하기
판다스는 데이터 분석을 위한 훌륭한 도구로, CSV 파일과 데이터프레임 간의 변환이 매우 용이합니다. 다음은 데이터프레임을 CSV 파일로 저장하는 예제입니다.
먼저, 판다스를 이용하여 데이터프레임을 생성합니다:
import pandas as pd
data = {
'이름': ['Alice', 'Bob', 'Charlie'],
'나이': [25, 30, 35],
'도시': ['서울', '뉴욕', '런던']
}
df = pd.DataFrame(data)
이제 to_csv
메소드를 사용하여 데이터프레임을 CSV 파일로 저장할 수 있습니다:
df.to_csv('example.csv', index=False)
여기서 index=False
를 설정하면 데이터프레임의 인덱스 열이 저장되지 않습니다. 파일을 확인해보면 같은 형식의 데이터를 갖고 있음을 알 수 있습니다.
CSV 파일 읽기
CSV 파일을 읽는 것도 매우 간단합니다. 앞서 설명한 두 가지 방법을 통해 CSV 파일의 내용을 파이썬으로 불러올 수 있습니다.
1. CSV 모듈을 활용한 읽기
import csv
with open('example.csv', mode='r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row) # 각 행을 출력합니다.
2. Pandas를 활용한 읽기
판다스를 사용하면 더욱 효율적으로 CSV 파일을 읽을 수 있습니다:
import pandas as pd
df = pd.read_csv('example.csv', encoding='utf-8')
print(df)
CSV 파일의 다양한 옵션들
to_csv
와 read_csv
메소드는 여러 유용한 옵션들을 제공합니다. 몇 가지 중요한 옵션에 대해 설명하겠습니다:
- sep: 필드 구분자를 지정합니다. 기본 값은 쉼표(,)입니다. 탭으로 구분된 파일은
sep='\t'
로 설정합니다. - header: 열 이름을 CSV 파일에 포함할 지 여부를 결정합니다. 기본적으로
True
입니다. - encoding: 파일의 인코딩 형식을 지정할 수 있습니다. 예를 들어,
encoding='euc-kr'
또는encoding='utf-8'
을 사용합니다.

CSV 파일을 효과적으로 사용하는 팁
CSV 파일을 사용할 때 몇 가지 유용한 팁을 고려해 보시기 바랍니다:
- 데이터가 큰 경우, 필요한 컬럼만 선택하여 읽는 것이 메모리 사용을 줄이는 데 도움이 됩니다.
- 결측치를 다룰 때는
na_values
옵션을 활용하여 특정 값을 NaN으로 처리할 수 있습니다. - 파일을 저장할 때
mode='a'
를 사용하면 기존 파일에 데이터를 추가할 수 있습니다. - 다양한 인코딩을 사용하는 파일을 다룰 때는
encoding
옵션을 통해 에러를 방지할 수 있습니다.
이번 포스트에서 소개한 파이썬의 CSV 파일 다루는 방법이 데이터 처리 작업에 도움이 되길 바랍니다. CSV 파일은 간편하게 데이터를 저장하고 불러오는 데 유용한 형식이므로, 적절히 활용하신다면 데이터 분석 작업을 한층 효율적으로 수행할 수 있습니다.
자주 물으시는 질문
파이썬에서 CSV 파일을 어떻게 읽을 수 있나요?
CSV 파일을 읽는 방법은 매우 간단합니다. csv 모듈이나 pandas 라이브러리를 사용할 수 있는데, 후자는 더 효율적이고 직관적인 방법입니다. 예를 들어, pandas의 read_csv 함수를 이용하면 손쉽게 내용을 불러올 수 있습니다.
CSV 파일에 데이터를 어떻게 저장하나요?
CSV 파일에 데이터를 저장하려면 csv 모듈의 writer를 이용하거나 pandas의 to_csv 메소드를 사용할 수 있습니다. 두 방법 모두 간단하게 열 제목과 데이터를 파일로 기록할 수 있도록 도와줍니다.
답글 남기기