공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
995 B
Python
25 lines
995 B
Python
# -*- 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)
|