# thptqg2016 data/ — 4 .xls + 115 .xlsx mixed files. # # Four column layouts exist across the 119 files; the binary selects the # right one per-sheet at runtime via format_detection: thptqg2016: # # separate-scores header SBD(0)/HOTEN(1)/TOAN(2)... — dhhanghai files # mapped header SOBAODANH|SBD + DIEM_THI — most provinces # subject-columns header names >=3 subject columns — dhcantho, dhcnthucpham # default no header; positional 6-col layout — remaining files # # This is the only dataset that populates ten_cum_thi and gioi_tinh, and the # only one whose files carry Tiếng Đức / Tiếng Nhật scores. # # sheet_mode = "all": several provinces overflow into Sheet2 (65k Excel row cap). # strip_blank_rows = false: no blank-row anomaly observed in this dataset. # # Table shape, INSERT and subject regexes are canonical — see parser/internal/schema/schema.go. format_detection: thptqg2016 reader: sheet_mode: all strip_blank_rows: false validation: require_numeric_sbd: false require_nonempty_name: true require_nonempty_sbd: true header: # Tokens that identify a header row by first-cell content (uppercased). # Covers both SOBAODANH-style and SBD-style headers. tokens: ["SOBAODANH", "SBD", "HO_TEN", "HOTEN", "HỌ TÊN", "STT"]