여러 시트 한 번에 읽기
pandas로 excel을 읽을 경우, read_excel 이라는 함수를 쓰게 된다.
만약 백만행이 넘어가 sheet1, sheet2, ... 까지 쓰여있다면 어떻게 해야 할까?
우리가 흔히 쓰는 것 처럼 pd.read_excel()를 쓴다면 sheet1에 있는 데이터만 읽어진다.
따라서 read_excel함수의 파라미터 중 sheet_name = None 을 추가해주면 모든 시트를 읽을 수 있다.
그러나 sheet_name = None 의 원리는 key: sheet1, value: 모든 데이터와 같아서 데이터 프레임으로써 쓸 수 없기 때문에 concat으로 한번 더 묶어줘야 한다.
예제 코드
df = pd.concat([value.assign(sheet_source=key) for key,value in df.items()], ignore_index=True)
반응형