Pandas Excel과 CSV 파일을 읽어오는 방법

Pandas Excel과 CSV 파일을 읽어오는 방법

Pandas
Pandas Excel과 CSV 파일을 읽어오는 방법
Author

gabriel yang

Published

August 22, 2024

Pandas를 사용하여 Excel과 CSV 파일을 읽어오는 방법

데이터 분석에 있어서 가장 먼저 해야 할 일 중 하나는 데이터를 불러오는 것입니다. pandas는 데이터 분석을 위한 파이썬 라이브러리로, 다양한 데이터 형식을 손쉽게 읽고 쓸 수 있는 강력한 기능을 제공합니다. 특히 Excel 파일과 CSV 파일은 가장 널리 사용되는 데이터 형식 중 하나입니다.

1. Pandas 설치하기

먼저, pandas 라이브러리가 설치되어 있어야 합니다. pandas는 보통 pip를 통해 쉽게 설치할 수 있습니다.

pip install pandas

Excel 파일을 다루기 위해서는 추가로 openpyxl이나 xlrd 같은 패키지가 필요할 수 있습니다.

pip install openpyxl

2. CSV 파일 읽어오기

CSV(Comma-Separated Values) 파일은 쉼표로 구분된 데이터 파일입니다. pandas에서는 read_csv() 함수를 사용하여 CSV 파일을 쉽게 불러올 수 있습니다.

2.1 기본 사용법

import pandas as pd

# CSV 파일 읽어오기
df = pd.read_csv('./commercial.csv')

# 데이터프레임 출력
print(df.head())

이 코드는 data.csv 파일을 읽어와 df라는 데이터프레임으로 저장한 후, 첫 5행을 출력합니다.

2.2 주요 옵션

  • sep: CSV 파일이 쉼표가 아닌 다른 구분자로 되어 있을 경우, 이를 지정할 수 있습니다.

    df = pd.read_csv('data.csv', sep=';')  # 세미콜론으로 구분된 파일
  • header: 헤더 행이 없는 경우, header=None으로 지정할 수 있습니다.

    df = pd.read_csv('data.csv', header=None)
  • names: 열 이름을 지정할 수 있습니다.

    df = pd.read_csv('data.csv', names=['Column1', 'Column2', 'Column3'])
  • index_col: 특정 열을 인덱스로 사용할 수 있습니다.

    df = pd.read_csv('data.csv', index_col=0)
  • 인코딩 문제와 해결 방법 : encoding 매개변수를 사용하여 파일의 정확한 인코딩 방식을 지정할 수 있습니다.

    # 가장 일반적으로 사용되는 인코딩 방식으로, 다국어를 지원
    df = pd.read_csv('data.csv', encoding='utf-8')
    
    # 한글 Windows에서 주로 사용하는 인코딩 방식 (cp949)
    df = pd.read_csv('data.csv', encoding='cp949')

2.3 대용량 CSV 파일 읽기

대용량 CSV 파일을 읽을 때는 chunksize 옵션을 사용하여 데이터를 나누어 읽을 수 있습니다.

chunk_iter = pd.read_csv('large_data.csv', chunksize=10000)

for chunk in chunk_iter:
    print(chunk.head())

3. Excel 파일 읽어오기

Excel 파일은 데이터를 저장하는 데 널리 사용되는 형식입니다. pandasread_excel() 함수를 제공하여 Excel 파일을 쉽게 읽을 수 있습니다.

3.1 기본 사용법

import pandas as pd

# Excel 파일 읽어오기
df = pd.read_excel('data.xlsx')

# 데이터프레임 출력
print(df.head())

이 코드는 data.xlsx 파일을 읽어와 df라는 데이터프레임으로 저장한 후, 첫 5행을 출력합니다.

3.2 주요 옵션

  • sheet_name: 특정 시트에서 데이터를 읽을 수 있습니다. 시트 이름이나 시트 번호를 지정할 수 있습니다.

    df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
  • usecols: 읽어올 열을 지정할 수 있습니다.

    df = pd.read_excel('data.xlsx', usecols="A:C")  # A열부터 C열까지 읽기
  • skiprows: 파일의 상단에서 몇 행을 건너뛸지 지정할 수 있습니다.

    df = pd.read_excel('data.xlsx', skiprows=2)  # 상위 2행 건너뛰기
  • nrows: 읽을 행의 수를 지정할 수 있습니다.

    df = pd.read_excel('data.xlsx', nrows=10)  # 상위 10행만 읽기

3.3 여러 시트 읽어오기

하나의 Excel 파일에서 여러 시트를 읽어와야 하는 경우, sheet_name에 리스트를 전달하여 여러 시트를 읽어올 수 있습니다.

sheets = pd.read_excel('data.xlsx', sheet_name=['Sheet1', 'Sheet2'])

# 각 시트를 별도의 데이터프레임으로 저장
df1 = sheets['Sheet1']
df2 = sheets['Sheet2']

모든 시트를 한꺼번에 읽으려면 sheet_name=None을 사용하면 됩니다.

all_sheets = pd.read_excel('data.xlsx', sheet_name=None)

이 경우, 모든 시트가 dict 형태로 반환되며, 각 시트는 데이터프레임으로 접근할 수 있습니다.

4. 결론

pandas를 사용하면 CSV와 Excel 파일을 손쉽게 읽어올 수 있으며, 다양한 옵션을 통해 데이터를 세밀하게 제어할 수 있습니다. read_csv()read_excel() 함수는 데이터 분석을 시작하는 중요한 단계에서 필수적으로 사용되는 도구입니다. 이 두 가지 방법을 잘 활용하여 여러분의 데이터 분석 작업을 효율적으로 수행해 보세요.

pandas의 다양한 기능을 활용하여 더 복잡한 데이터 파일도 손쉽게 다룰 수 있습니다. 파일 형식에 따라 적절한 함수를 사용하여 데이터를 불러오고, 필요한 옵션들을 활용해 데이터의 특정 부분만을 읽어오는 등, 여러분의 분석 과정에 맞게 최적화할 수 있습니다.