윗줄에 결재란이 떡하니? 지저분한 엑셀 양식 파이썬으로 무시하고 읽어오기
파이썬 엑셀 자동화를 공부할 때 책이나 강의에서 제공하는 예제 파일들은 보통 1행부터 '이름, 부서, 직급' 같은 제목(Header)이 예쁘게 적혀있습니다. 하지만 우리 회사의 현실은 어떤가요? 파일 맨 위에는 거대한 글씨로 '월간 영업 실적 보고서'라는 제목이 병합되어 있고, 오른쪽 위에는 팀장, 국장, 사장님의 도장을 받는 '결재란'이 떡하니 자리 잡고 있습니다. 진짜 데이터는 한 4행이나 5행부터 시작하죠. 이런 엑셀 파일을 파이썬에서 pd.read_excel() 로 그냥 불러오면 대참사가 일어납니다. 파이썬은 무조건 1행을 표의 제목으로 인식하기 때문에, 거대한 '보고서 제목'을 표의 기준으로 삼아버리고 나머지 진짜 제목들은 전부 'Unnamed'라는 정체불명의 데이터로 뭉개버립니다. 오늘은 엑셀 원본 양식을 손상하지 않고, 내가 원하는 진짜 데이터부터 쏙 빼오는 실전 불러오기 기술을 알아보겠습니다. 1. 불필요한 윗줄 건너뛰기: skiprows 옵션 엑셀 원본 파일에 있는 결재란과 제목을 일일이 마우스로 우클릭해서 '행 삭제'를 하고 계신가요? 수십 개의 파일을 그렇게 지우는 것은 자동화가 아닙니다. 파이썬에게 "위에 있는 쓸데없는 3줄은 눈 감고 무시해 줘!"라고 명령하면 끝납니다. 이때 사용하는 것이 바로 skiprows (행 건너뛰기) 옵션입니다. 데이터를 불러오는 코드 괄호 안에 이 마법의 단어만 추가해 주시면 됩니다. df = pd.read_excel('실적보고서.xlsx', skiprows=3) 이렇게 적어주면 파이썬은 엑셀 파일의 맨 위에서부터 3줄(1~3행)을 아예 없는 셈 치고 건너뜁니다. 그리고 4행에 있는 '사번, 이름, 부서명'을 정확하게 표의 제목으로 인식하여 데이터를 깔끔하게 불러옵니다. 위쪽 양식이 아무리 복잡하게 병합되어 있어도 이 코드 한 줄이면 완벽하게 회피할 수 있...