import openpyxl, sys sys.stdout.reconfigure(encoding='utf-8') wb=openpyxl.load_workbook(r'충청남도_서천군.xlsx'); ws=wb.active def merged_at(r,c): for m in ws.merged_cells.ranges: if m.min_row<=r<=m.max_row and m.min_col<=c<=m.max_col: return f'{openpyxl.utils.get_column_letter(m.min_col)}{m.min_row}:{openpyxl.utils.get_column_letter(m.max_col)}{m.max_row}' return '' def show(lo,hi): for r in range(lo,hi+1): vals=[] for c in range(4,9): # D E F G H v=ws.cell(r,c).value mg=merged_at(r,c) tag=f'{openpyxl.utils.get_column_letter(c)}={str(v)[:14]}' if v is not None else (f'{openpyxl.utils.get_column_letter(c)}~{mg}' if mg else '') if tag: vals.append(tag) L=ws.cell(r,12).value; M=ws.cell(r,13).value print(f'R{r:>3} L={L} M={M} | '+' | '.join(vals)) for a,b in [(13,18),(55,60),(93,96),(183,184),(192,195),(267,270)]: print(f'--- {a}-{b} ---'); show(a,b)