Skip to content

[전처리기/xlsx] tabular 모드 헤더 자동판정 강화 — 비병합 제목행을 헤더로 잡지 않기 #331

Description

@HeechanKim-Genon

프로젝트

No response

상세 설명

  • tabular 모드로 xlsx를 적재할 때, 표 상단의 병합 안 된 단일 셀 제목행(예: □ 제조업 등(건설업 외 업종))을 헤더행으로 오인함. 그 결과 진짜 헤더(연번·기인물·방호조치…)가 데이터행으로 밀리고, 컬럼이 col_2~col_9 무명 키로 저장되어 column_map에는 제목행 하나만 매핑됨.

  • 원인은 _detect_header(converters/xlsx_processor.py)의 헤더행 판정이 "가로병합 없는 첫 행" 기준이기 때문. 원래 의도는 "모든 칸이 찬 첫 행 = 헤더"였으나 그대로 구현되지 않음.

  • 제안: 선두 행이 가로병합 없이 일부 칸만 채워진 경우 제목행으로 스킵. 계층 헤더(가로병합 그룹 + 하위 헤더, 예: 건설업 시트)의 기존 병합 처리는 유지. 수정 후 재적재 필요(tabular 모드만 해당, docling 무관).

증상을 확인할 수 있는 step

  1. 해당 xlsx를 tabular 모드로 벡터DB에 적재
  2. 적재된 벡터의 property 확인
  3. 컬럼 키가 col_2~col_9(무명) + field_<hash>(제목행)로 저장되고, column_map{"field_...": "□ 제조업 등(건설업 외 업종)"}처럼 제목행만 매핑됨
  4. 기인물·고위험작업·상황·위험성 감소대책 등 실제 컬럼명이 키에 없음

재현문서

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions