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