PandasPython트러블슈팅웹크롤링ExcelWriter데이터처리
📝 상황
데이터 처리 결과를 엑셀로 저장하는 과정에서, 특정 시트(신규 데이터 시트)가 생성되지 않는 문제가 발생함.
🔍 원인 분석
함수 내부에
with pd.ExcelWriter(...)블록이 두 번 존재했음첫 번째 블록에서 신규/기존/요약 등 다양한 시트를 정상 저장했으나
두 번째 블록이 동일 파일을 다시 열어 저장하면서 기존 시트를 전부 덮어씀
ExcelWriter는 append가 아닌 overwrite 방식으로 동작하기 때문임
🔧 해결 과정
ExcelWriter는 단 한 번만 열고, 필요한 모든 시트를 한 블록에서 동시에 저장하도록 구조 변경
신규 데이터가 없을 경우에도
빈 DataFrame을 강제로 기록하여 항상 시트 탭이 생성되도록 보완
✅ 결과
모든 시트가 의도대로 생성되고, 신규 데이터가 없어도 시트 탭이 유지됨
사용자 입장에서 “데이터가 누락됐다”는 혼동 요소가 제거됨
💡 실무 인사이트
저장 로직은 덮어쓰기 위험을 항상 고려해야 한다
‘빈 상태’도 보여주는 것이 안정적이다 → 신규 데이터가 없어도 시트를 남겨야 신뢰 확보
결과물 확인이 곧 디버깅이다 → 저장 직후 시트 목록 점검(openpyxl 등 활용)이 빠르고 정확함