IT관련

파이썬 초보도 5분 만에 끝내는 엑셀 파일 불러오기 완벽 정리 (pandas)

파란하늘999 2025. 12. 7. 01:23

파이썬으로 엑셀 파일(.xlsx, .xls)을 아주 쉽게 불러올 수 있어요! 데이터 분석, 자동화, 크롤링 결과를 엑셀로 저장했다가 다시 읽을 때 필수죠.

1. 가장 많이 쓰이는 3가지 라이브러리 비교

라이브러리 파일 형식 장점 단점 설치 명령어
pandas (추천1) .xlsx, .xls 가장 편리하고 빠름, DataFrame으로 바로 사용 없음 pip install pandas openpyxl
openpyxl .xlsx 엑셀 스타일, 셀 서식까지 제어 가능 읽기만 할 거면 좀 무거움 pip install openpyxl
xlrd (구버전) .xls (구형) 예전 파일용 xlsx 안 됨, 2.0부터 지원 중단 pip install xlrd==1.2.0

→ 2025년 기준으로 거의 99%는 pandas + openpyxl 조합 쓰면 끝!

2. 기본 사용법 (pandas 추천)

import pandas as pd

# 1. 엑셀 파일 불러오기 (가장 기본)
df = pd.read_excel('파일이름.xlsx')

# 2. 시트 지정해서 불러오기
df = pd.read_excel('파일이름.xlsx', sheet_name='시트2')        # 시트 이름
df = pd.read_excel('파일이름.xlsx', sheet_name=1)              # 0부터 시작하는 인덱스

# 3. 여러 시트 한 번에 불러오기
excel_file = pd.ExcelFile('파일이름.xlsx')
sheet_names = excel_file.sheet_names    # ['시트1', '시트2', ...]
dfs = {sheet: pd.read_excel('파일이름.xlsx', sheet_name=sheet) for sheet in sheet_names}

# 4. 특정 열을 인덱스로
df = pd.read_excel('파일이름.xlsx', index_col=0)               # 첫 번째 열을 인덱스로
df = pd.read_excel('파일이름.xlsx', index_col='이름')          # '이름' 열을 인덱스로

# 5. 헤더(컬럼명)가 없는 경우
df = pd.read_excel('파일이름.xlsx', header=None)

# 6. 특정 행부터 읽기 (예: 3번째 행부터)
df = pd.read_excel('파일이름.xlsx', skiprows=2)

# 7. 특정 열만 불러오기 (메모리 절약!)
df = pd.read_excel('파일이름.xlsx', usecols=['이름', '나이', '점수'])
df = pd.read_excel('파일이름.xlsx', usecols='A:C')             # A~C열

3. 실전 예제

import pandas as pd

# 예제: 회원 목록 엑셀 파일 읽기
df = pd.read_excel('회원목록.xlsx', sheet_name='2025년', index_col='아이디')

print(df.head())        # 상위 5개만 확인
print(df.info())        # 데이터 구조 확인
print(df['이름'])       # 이름 열만 출력

# 조건 검색
vip_회원 = df[df['등급'] == 'VIP']
print(vip_회원)

4. 자주 하는 실수 & 팁

  • 에러: ImportError: Missing optional dependency 'openpyxl' → 해결: pip install openpyxl
  • 에러: xlrd.biffh.XLRDError: Excel xlsx file; not supported → 해결: xlrd 2.0 이상은 xlsx 안 됨 → pip install xlrd==1.2.0 또는 그냥 pandas+openpyxl 쓰세요
  • 한글 깨짐? → 거의 안 생김 (pandas가 알아서 UTF-8 처리)
  • 아주 큰 파일(수십만 행) 엑셀 파일 → pd.read_excel(..., engine='openpyxl', nrows=10000) 등으로 쪼개서 읽기

마무리

# 한 줄로 끝!
df = pd.read_excel('내파일.xlsx')

 

이 한 줄만 기억해도 파이썬으로 엑셀 다루기의 90%는 끝났습니다

반응형