"Life is too short, You need python"
pandas로 excel을 읽을 경우, read_excel 이라는 함수를 쓰게 된다. 만약 백만행이 넘어가 sheet1, sheet2, ... 까지 쓰여있다면 어떻게 해야 할까요? 우리가 흔히 쓰는 것 처럼 pd.read_excel()를 쓴다면 sheet1에 있는 데이터만 읽어집니다.
해결 방법에 대해 간단히 알아보겠습니다.
'sheet_name = ' option parameter
read_excel로 excel 파일을 불러올 때
# 단일 시트 불러오기(시트1 불러오기)
df = pd.read_excel(file_path, sheet_name = '시트1')
# 복수 시트 불러오기(시트1 ~ 시트n까지 불러오기)
df = pd.read_excel(file_path, sheet_name = ['시트1', '시트2', '시트3', '시트4', ..., '시트n'])
위와 같이 'sheet_name = sheet1(시트명)' 옵션을 사용하게 되면 sheet1(시트명)이라는 특정 Sheet만 불러오게 됩니다.
만약 sheet1(시트명) 대신 리스트 형태로 sheet명을 지정하면 지정된 복수의 sheet가 불러집니다.
하지만 통합 문서 내에 매우 많은 시트들이 존재한다면 모든 시트명을 기입하기 쉽지 않습니다.
이런 경우 어떻게 하면 좋을까요?
Syntax ( 구문 )
통합문서 내 전체 시트를 불러오기 위해 다음 구문을 사용합니다.
df = pd.read_excel(file_path, sheet_name = None)
위의 명령을 실행 시 통합문서 내 모든 시트를 불러오게 됩니다.
다만 {시트명:데이터프레임} 형태를 유지하고 있기 때문에 통합된 데이터로 사용하기 위해
한 가지 작업이 더 필요합니다.
시트 데이터 통합 ( 동일 문서 포맷일 경우 )
상기에서 불러온 시트들은
{시트명:데이터프레임} 형태를 유지하고 있기 때문에 동일 포맷일 경우 하나의 데이터로 합치기 위해서는
아래와 같이 ignore_index = True로 한 concat 명령을 수행하면 됩니다.
df_total = pd.concat(df, ignore_index = True)
마무리
엑셀 통합문서의 단일/복수(특정) 시트 불러오기, 전체 시트 불러와 통합하는 방법까지 알아보았습니다.
'PYTHON > Tips' 카테고리의 다른 글
(Python/Basic) Print 활용 TIP(feat. datetime) (0) | 2022.06.25 |
---|---|
(Python/OS) os.path.getctime() / os.path.getmtime() 파일의 생성/수정 날짜 확인 (0) | 2022.06.15 |
(Python/Pandas) Format a number (천 단위 구분 기호 및 기타 서식 적용) (0) | 2022.06.13 |
(Tkinter/Entry) 엔트리 바인드 이벤트(bind event) 설정 (0) | 2022.06.10 |
(Python/Matplotlib) 파이썬 폰트 영문명(영문이름) 확인 (0) | 2022.06.04 |