# -*- coding: utf-8 -*- import sys sys.stdout.reconfigure(encoding='utf-8') import openpyxl wb = openpyxl.load_workbook('전북특별자치도_김제시.xlsx'); ws = wb.active # merged map for D/E/F inheritance mfill = {} for mr in ws.merged_cells.ranges: if mr.min_col in (4,5,6) and mr.min_row >= 3: top = ws.cell(mr.min_row, mr.min_col).value for rr in range(mr.min_row, mr.max_row+1): mfill[(rr, mr.min_col)] = top def eff(r,c): v = ws.cell(r,c).value return v if v not in (None,'') else mfill.get((r,c)) def show(rng): for r in rng: D,E,F = eff(r,4),eff(r,5),eff(r,6) own = [ws.cell(r,c).value for c in range(2,11)] # B..J raw k = ws.cell(r,11); link = k.hyperlink.target if k.hyperlink else None print(f'r{r} B={own[0]} C={own[1]} | D/E/F(eff)={D!r}/{E!r}/{F!r} | G/H/I/J(raw)={own[5:9]} | K={link}') for region in [range(63,68), range(78,82), range(99,105), range(239,249)]: print('=====') show(region)