Python/Pandas

Pandas로 CSV 파일 다루기

임베디드 친구 2025. 9. 26. 20:39
728x90
반응형

Pandas로 CSV 파일 다루기

데이터 분석에서 CSV(Comma-Separated Values) 파일은 가장 널리 사용되는 포맷 중 하나입니다. Pandas를 활용하면 CSV 파일을 손쉽게 읽고, 수정하고, 저장할 수 있습니다. 이번 포스팅에서는 Pandas로 CSV 파일을 다루는 방법에 대해 자세히 알아보겠습니다.


1. CSV 파일이란?

CSV 파일은 각 행이 쉼표(,)로 구분된 텍스트 파일로, 간단하면서도 데이터 저장 및 교환에 많이 활용됩니다. Excel, 데이터베이스, 웹 애플리케이션 등 다양한 환경에서 사용됩니다.

CSV 파일의 예시는 다음과 같습니다:

name,age,city
Alice,25,New York
Bob,30,Los Angeles
Charlie,35,Chicago

이제 Pandas를 이용해 CSV 파일을 다루는 방법을 살펴보겠습니다.


2. CSV 파일 읽기

Pandas에서는 pd.read_csv() 함수를 사용하여 CSV 파일을 DataFrame으로 불러올 수 있습니다.

기본적인 CSV 파일 읽기

import pandas as pd

df = pd.read_csv("data.csv")
print(df.head())  # 데이터의 처음 5개 행 출력

구분자가 다른 경우 (delimiter 옵션 사용)

CSV 파일에서 기본 구분자는 쉼표(,)지만, 세미콜론(;)이나 탭(\t) 등의 다른 구분자를 사용할 수도 있습니다.

df = pd.read_csv("data.csv", delimiter=';')

인코딩 문제 해결 (encoding 옵션 사용)

CSV 파일의 인코딩 방식이 다를 경우, encoding 옵션을 지정해야 합니다.

df = pd.read_csv("data.csv", encoding="utf-8")  # 일반적인 UTF-8 인코딩
# df = pd.read_csv("data.csv", encoding="cp949")  # 한글 인코딩(CP949)

특정 열을 인덱스로 지정하기 (index_col 옵션 사용)

df = pd.read_csv("data.csv", index_col="name")

3. CSV 파일 저장하기

DataFrame을 CSV 파일로 저장할 때는 to_csv() 메서드를 사용합니다.

기본적인 CSV 파일 저장

df.to_csv("output.csv")

특정 구분자로 저장하기

쉼표 대신 다른 구분자를 사용할 수도 있습니다.

df.to_csv("output.csv", sep=';')

인덱스 제외하고 저장하기 (index=False 옵션 사용)

df.to_csv("output.csv", index=False)

특정 열만 저장하기 (columns 옵션 사용)

df.to_csv("output.csv", columns=["name", "age"], index=False)

4. 대용량 CSV 파일 처리

데이터가 크면 read_csv()를 사용할 때 chunksize 옵션을 활용하면 메모리 부담을 줄일 수 있습니다.

chunk_size = 1000  # 한 번에 1000개 행씩 읽기
for chunk in pd.read_csv("large_data.csv", chunksize=chunk_size):
    print(chunk.shape)

또한, to_csv()에서 압축하여 저장할 수도 있습니다.

df.to_csv("compressed.csv.gz", compression='gzip')

5. CSV 파일 예제 다루기

아래는 CSV 파일을 읽고, 데이터를 수정한 후 저장하는 예제입니다.

# CSV 파일 읽기
df = pd.read_csv("data.csv")

# 새로운 열 추가
df["salary"] = [50000, 60000, 70000]

# 특정 행 필터링
df_filtered = df[df["age"] > 28]

# 수정된 데이터 저장
df_filtered.to_csv("filtered_data.csv", index=False)

이처럼 Pandas를 사용하면 CSV 파일을 효율적으로 다룰 수 있습니다.


6. 마무리

이번 포스팅에서는 Pandas를 활용하여 CSV 파일을 읽고, 수정하고, 저장하는 다양한 방법을 살펴보았습니다. Pandas의 강력한 기능을 활용하면 CSV 파일을 손쉽게 다룰 수 있으며, 대용량 데이터를 처리하는 방법도 유용하게 사용할 수 있습니다.

반응형