Pandas Excel과 CSV 파일을 읽어오는 방법
Pandas Excel과 CSV 파일을 읽어오는 방법
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 파일 읽어오기
= pd.read_csv('./commercial.csv')
df
# 데이터프레임 출력
print(df.head())
이 코드는 data.csv
파일을 읽어와 df
라는 데이터프레임으로 저장한 후, 첫 5행을 출력합니다.
2.2 주요 옵션
sep
: CSV 파일이 쉼표가 아닌 다른 구분자로 되어 있을 경우, 이를 지정할 수 있습니다.= pd.read_csv('data.csv', sep=';') # 세미콜론으로 구분된 파일 df
header
: 헤더 행이 없는 경우,header=None
으로 지정할 수 있습니다.= pd.read_csv('data.csv', header=None) df
names
: 열 이름을 지정할 수 있습니다.= pd.read_csv('data.csv', names=['Column1', 'Column2', 'Column3']) df
index_col
: 특정 열을 인덱스로 사용할 수 있습니다.= pd.read_csv('data.csv', index_col=0) df
인코딩 문제와 해결 방법
: encoding 매개변수를 사용하여 파일의 정확한 인코딩 방식을 지정할 수 있습니다.# 가장 일반적으로 사용되는 인코딩 방식으로, 다국어를 지원 = pd.read_csv('data.csv', encoding='utf-8') df # 한글 Windows에서 주로 사용하는 인코딩 방식 (cp949) = pd.read_csv('data.csv', encoding='cp949') df
2.3 대용량 CSV 파일 읽기
대용량 CSV 파일을 읽을 때는 chunksize
옵션을 사용하여 데이터를 나누어 읽을 수 있습니다.
= pd.read_csv('large_data.csv', chunksize=10000)
chunk_iter
for chunk in chunk_iter:
print(chunk.head())
3. Excel 파일 읽어오기
Excel 파일은 데이터를 저장하는 데 널리 사용되는 형식입니다. pandas
는 read_excel()
함수를 제공하여 Excel 파일을 쉽게 읽을 수 있습니다.
3.1 기본 사용법
import pandas as pd
# Excel 파일 읽어오기
= pd.read_excel('data.xlsx')
df
# 데이터프레임 출력
print(df.head())
이 코드는 data.xlsx
파일을 읽어와 df
라는 데이터프레임으로 저장한 후, 첫 5행을 출력합니다.
3.2 주요 옵션
sheet_name
: 특정 시트에서 데이터를 읽을 수 있습니다. 시트 이름이나 시트 번호를 지정할 수 있습니다.= pd.read_excel('data.xlsx', sheet_name='Sheet1') df
usecols
: 읽어올 열을 지정할 수 있습니다.= pd.read_excel('data.xlsx', usecols="A:C") # A열부터 C열까지 읽기 df
skiprows
: 파일의 상단에서 몇 행을 건너뛸지 지정할 수 있습니다.= pd.read_excel('data.xlsx', skiprows=2) # 상위 2행 건너뛰기 df
nrows
: 읽을 행의 수를 지정할 수 있습니다.= pd.read_excel('data.xlsx', nrows=10) # 상위 10행만 읽기 df
3.3 여러 시트 읽어오기
하나의 Excel 파일에서 여러 시트를 읽어와야 하는 경우, sheet_name
에 리스트를 전달하여 여러 시트를 읽어올 수 있습니다.
= pd.read_excel('data.xlsx', sheet_name=['Sheet1', 'Sheet2'])
sheets
# 각 시트를 별도의 데이터프레임으로 저장
= sheets['Sheet1']
df1 = sheets['Sheet2'] df2
모든 시트를 한꺼번에 읽으려면 sheet_name=None
을 사용하면 됩니다.
= pd.read_excel('data.xlsx', sheet_name=None) all_sheets
이 경우, 모든 시트가 dict
형태로 반환되며, 각 시트는 데이터프레임으로 접근할 수 있습니다.
4. 결론
pandas
를 사용하면 CSV와 Excel 파일을 손쉽게 읽어올 수 있으며, 다양한 옵션을 통해 데이터를 세밀하게 제어할 수 있습니다. read_csv()
와 read_excel()
함수는 데이터 분석을 시작하는 중요한 단계에서 필수적으로 사용되는 도구입니다. 이 두 가지 방법을 잘 활용하여 여러분의 데이터 분석 작업을 효율적으로 수행해 보세요.
pandas
의 다양한 기능을 활용하여 더 복잡한 데이터 파일도 손쉽게 다룰 수 있습니다. 파일 형식에 따라 적절한 함수를 사용하여 데이터를 불러오고, 필요한 옵션들을 활용해 데이터의 특정 부분만을 읽어오는 등, 여러분의 분석 과정에 맞게 최적화할 수 있습니다.