• Feed
  • Explore
  • Ranking
/
/
    실무 아카이브

    웹 크롤링 – ExcelWriter 중복 호출 해결

    ExcelWriter 중복 호출로 시트가 사라진 오류를 분석하고, 원인·해결·실무 인사이트를 정리했다.
    PandasPython트러블슈팅웹크롤링ExcelWriter데이터처리
    김
    김무명
    2025.09.02
    ·
    3 min read

    📝 상황

    데이터 처리 결과를 엑셀로 저장하는 과정에서, 특정 시트(신규 데이터 시트)가 생성되지 않는 문제가 발생함.

    🔍 원인 분석

    • 함수 내부에 with pd.ExcelWriter(...) 블록이 두 번 존재했음

    • 첫 번째 블록에서 신규/기존/요약 등 다양한 시트를 정상 저장했으나

    • 두 번째 블록이 동일 파일을 다시 열어 저장하면서 기존 시트를 전부 덮어씀

    • ExcelWriter는 append가 아닌 overwrite 방식으로 동작하기 때문임

    🔧 해결 과정

    • ExcelWriter는 단 한 번만 열고, 필요한 모든 시트를 한 블록에서 동시에 저장하도록 구조 변경

    • 신규 데이터가 없을 경우에도 빈 DataFrame을 강제로 기록하여 항상 시트 탭이 생성되도록 보완

    ✅ 결과

    • 모든 시트가 의도대로 생성되고, 신규 데이터가 없어도 시트 탭이 유지됨

    • 사용자 입장에서 “데이터가 누락됐다”는 혼동 요소가 제거됨

    💡 실무 인사이트

    1. 저장 로직은 덮어쓰기 위험을 항상 고려해야 한다

    2. ‘빈 상태’도 보여주는 것이 안정적이다 → 신규 데이터가 없어도 시트를 남겨야 신뢰 확보

    3. 결과물 확인이 곧 디버깅이다 → 저장 직후 시트 목록 점검(openpyxl 등 활용)이 빠르고 정확함







    - 컬렉션 아티클