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

27 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
# 청양 med 35건 → 페이지 확정 적용. 게시판→페이지: M비움(글수無)·N/O/P/Q유지. 사이트→페이지: N=어문 baseline.
import openpyxl, json, io, sys, shutil
from collections import Counter
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
F=r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\13.청양군\충청남도_청양군.xlsx'
BK=r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\13.청양군\충청남도_청양군_backup_med검토전.xlsx'
shutil.copyfile(F,BK); print('백업',BK)
med=json.load(open('_cy2_med2.json',encoding='utf-8'))
wb=openpyxl.load_workbook(F); ws=wb.active
applied=[]
for rs,v in med.items():
r=int(rs); oL,nv,why=v
if r<123 or nv!='페이지' or oL=='페이지': continue
lab=str(ws.cell(r,6).value or ws.cell(r,7).value or ws.cell(r,5).value or '')[:16]
ws.cell(r,12).value='페이지'
if oL=='게시판':
ws.cell(r,13).value=None # M(글수) 비움
elif oL=='사이트':
if not ws.cell(r,14).value: ws.cell(r,14).value='어문' # 페이지 N baseline
applied.append((r,lab,oL))
wb.save(F)
print('적용',len(applied))
for r,lab,o in applied: print('r%d %-16s %s->페이지'%(r,lab,o))
d=Counter(ws.cell(r,12).value for r in range(3,ws.max_row+1) if ws.cell(r,2).value)
print('최종 L분포:',dict(d))