DB_JOB/작업파일/_스크립트/_diag_buyeo_height.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

49 lines
2.1 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'
WRK = r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\7.부여군\충청남도_부여군.xlsx'
wb = openpyxl.load_workbook(PKG); ws = wb.active
def cellinfo(r,c):
cell=ws.cell(r,c)
a=cell.alignment; f=cell.font
return f'wrap={a.wrap_text} font={f.name},{f.size}'
print('=== row 515 (h=15) vs 522 (h=16.5) cell C,G ===')
for r in (515,522):
print(f' r{r} h={ws.row_dimensions[r].height}: C[{cellinfo(r,3)}] G[{cellinfo(r,7)}] K[{cellinfo(r,11)}]')
# height histogram all rows
from collections import Counter
hc=Counter(ws.row_dimensions[r].height for r in range(1,ws.max_row+1))
print('\nheight histogram:', dict(hc))
# any row with B present but no K and no menu D-J (blank-ish content row)
print('\n=== B present but K empty & D-J empty ===')
for r in range(3, ws.max_row+1):
if ws.cell(r,2).value in (None,''): continue
k=ws.cell(r,11).value
menu=any(ws.cell(r,c).value not in (None,'') for c in range(4,11))
# account for merged D/E/F inheritance
if k in (None,'') and not menu:
print(f' r{r} B={ws.cell(r,2).value} (no K, no own menu)')
# fully blank rows anywhere 1..max
blank=[r for r in range(1,ws.max_row+1) if all(ws.cell(r,c).value in (None,'') for c in range(1,28))]
print('\n완전빈행(1..max):', blank)
# compare PKG vs WRK cell-by-cell (values)
wb2=openpyxl.load_workbook(WRK); ws2=wb2.active
print(f'\nPKG max_row={ws.max_row} WRK max_row={ws2.max_row}')
diff=0
for r in range(1,max(ws.max_row,ws2.max_row)+1):
for c in range(1,28):
if ws.cell(r,c).value!=ws2.cell(r,c).value:
diff+=1
if diff<=10: print(f' val diff r{r}c{c}: PKG={ws.cell(r,c).value!r} WRK={ws2.cell(r,c).value!r}')
print('value diffs PKG vs WRK:', diff)
# height diffs
hd=[r for r in range(1,ws.max_row+1) if ws.row_dimensions[r].height!=ws2.row_dimensions[r].height]
print('height diffs PKG vs WRK rows:', len(hd), hd[:10])