공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
49 lines
2.2 KiB
Python
49 lines
2.2 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_본문탭전개전.xlsx'
|
|
ws=openpyxl.load_workbook(CU).active; ws2=openpyxl.load_workbook(BK).active
|
|
# 1~122 diff
|
|
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('DIFF r%dc%d'%(r,c))
|
|
print('1~122 셀차이:',diff)
|
|
# 병합겹침
|
|
cells={};ov=0
|
|
for m in ws.merged_cells.ranges:
|
|
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(list(ws.merged_cells.ranges)))
|
|
# 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],'max_row',ws.max_row)
|
|
# 하이퍼링크 정합(K value==hyperlink)
|
|
mis=0
|
|
for r in range(3,ws.max_row+1):
|
|
v=ws.cell(r,11).value; hl=ws.cell(r,11).hyperlink
|
|
if v and str(v).startswith('http'):
|
|
if not hl or hl.target!=v: mis+=1
|
|
print('K 하이퍼링크 불일치:',mis)
|
|
# 새 영역 확인: 청양사랑기부제 그룹
|
|
def show(a,b):
|
|
print('--- r%d~%d ---'%(a,b))
|
|
mr={}
|
|
for m in ws.merged_cells.ranges: mr[(m.min_row,m.min_col)]=m.max_row
|
|
for r in range(a,b+1):
|
|
def mt(c): return '[%d:%d]'%(r,mr[(r,c)]) if (r,c) in mr and mr[(r,c)]>r else ''
|
|
print('r%d B%s F:%s%s G:%s%s H:%s%s | %s M%s N%s | %s'%(r,ws.cell(r,2).value,
|
|
str(ws.cell(r,6).value or '')[:10],mt(6),str(ws.cell(r,7).value or '')[:12],mt(7),
|
|
str(ws.cell(r,8).value or '')[:10],mt(8),ws.cell(r,12).value,ws.cell(r,13).value,ws.cell(r,14).value,
|
|
(ws.cell(r,11).value or '')[-28:]))
|
|
show(133,139)
|
|
show(245,252)
|
|
print('...특산품...')
|
|
# 특산물/특산품 위치 찾기
|
|
for r in range(123,ws.max_row+1):
|
|
if ws.cell(r,7).value in ('특산물','특산품'):
|
|
show(r,r+13 if ws.cell(r,7).value=='특산물' else r+13); break
|