공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 lines
1019 B
Python
23 lines
1019 B
Python
# -*- coding: utf-8 -*-
|
|
# 청양 메뉴구조 진단: 123~175 D/E/F/G + 병합범위. 밀림(라벨 어긋남)/병합경계 확인
|
|
import openpyxl, io, sys
|
|
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
|
|
F=r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\13.청양군\충청남도_청양군.xlsx'
|
|
wb=openpyxl.load_workbook(F); ws=wb.active
|
|
# 병합 맵: 각 셀이 어느 병합범위 anchor인지
|
|
mranges={}
|
|
for mr in ws.merged_cells.ranges:
|
|
mranges[(mr.min_row,mr.min_col)]=(mr.max_row,mr.max_col)
|
|
def cv(r,c): return str(ws.cell(r,c).value or '')[:14]
|
|
def mtag(r,c):
|
|
if (r,c) in mranges:
|
|
mx=mranges[(r,c)]
|
|
return '[%d:%d]'%(r,mx[0]) if mx[0]>r else ''
|
|
return ''
|
|
print('row B | D대 | E중 | F소 | G세부 | L')
|
|
for r in range(123,176):
|
|
print('r%d B=%s | D:%s%s | E:%s%s | F:%s%s | G:%s%s | %s'%(
|
|
r,ws.cell(r,2).value,
|
|
cv(r,4),mtag(r,4), cv(r,5),mtag(r,5), cv(r,6),mtag(r,6), cv(r,7),mtag(r,7),
|
|
ws.cell(r,12).value))
|