DB_JOB/작업파일/완료/광역_사이트맵/충청북도/_cy2_verify.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

33 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
import openpyxl, io, sys
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
CU=r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\13.청양군\충청남도_청양군.xlsx'
BK=r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\13.청양군\충청남도_청양군_backup_L검토전.xlsx'
wb=openpyxl.load_workbook(CU); ws=wb.active
wb2=openpyxl.load_workbook(BK); ws2=wb2.active
# 1~122 셀 diff (B순번 1~122 영역 = 물리행 3~? : 사용자영역. 안전하게 물리행 1~122 비교)
diff=0
for r in range(1,123):
for c in range(1,18):
if (ws.cell(r,c).value)!=(ws2.cell(r,c).value): diff+=1; print('1-122 DIFF r%dc%d %r->%r'%(r,c,ws2.cell(r,c).value,ws.cell(r,c).value))
print('1~122 물리행 셀차이:',diff)
# 병합 겹침
rngs=list(ws.merged_cells.ranges)
ov=0
cells={}
for m in rngs:
for rr in range(m.min_row,m.max_row+1):
for cc in range(m.min_col,m.max_col+1):
if (rr,cc) in cells: ov+=1
cells[(rr,cc)]=1
print('병합겹침:',ov,'| 병합수:',len(rngs))
# B순번
bs=[ws.cell(r,2).value for r in range(3,ws.max_row+1) if ws.cell(r,2).value is not None]
print('B순번 개수:',len(bs),'| 첫',bs[0],'',bs[-1])
# 사이트행 MNOPQ 비움 확인
bad=0
for r in range(123,ws.max_row+1):
if ws.cell(r,12).value=='사이트':
if any(ws.cell(r,c).value not in (None,'') for c in (13,14,15,16,17)): bad+=1
print('사이트행 MNOPQ 잔존:',bad)