DB_JOB/작업파일/_스크립트/_diag_buyeo_border3.py
hehihoho3 df16c98366 백업: DB수집 전체 스냅샷 (공공기관2 정리 전)
공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 18:15:40 +09:00

29 lines
1.0 KiB
Python

import sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import openpyxl
PKG = r'D:\01.프로젝트\DB수집\작업파일\_제출패키지_2026-06-03\프리랜서1\충청남도_부여군.xlsx'
ws = openpyxl.load_workbook(PKG).active
def bd(cell):
b=cell.border
f=lambda s: (s.style or '-')[:4]
return f'{f(b.left)}/{f(b.right)}/{f(b.top)}/{f(b.bottom)}'
def merged_cols(r):
cols=set()
for m in ws.merged_cells.ranges:
if m.min_row<=r<=m.max_row:
for c in range(m.min_col,m.max_col+1):
if not (r==m.min_row and True): pass
cols.add((m.min_col,m.max_col,m.min_row,m.max_row))
return cols
for r in (137, 138, 233, 234, 235):
print(f'\n=== row {r} (L/R/T/B per col B..S) ===')
for c in range(2,20):
print(f' {ws.cell(r,c).coordinate}={bd(ws.cell(r,c))}', end='')
if c%6==1 or c==19: print()
# merges on this row
ms=[str(m) for m in ws.merged_cells.ranges if m.min_row<=r<=m.max_row and m.min_col<=11<=m.max_col]
print(' K in merge?:', ms)