DB_JOB/_스크립트/_공공기관2_napply.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

38 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
"""plan_{기관}.json 의 auto='어문'(콘텐츠이미지 없음) 행 → N에서 '이미지' 제거(강등).
candidate 행은 보존(사용자/추가 시각판정 영역). 하늘색 표시는 하지 않음(사용자 지시).
사용: python _공공기관_napply.py <기관명>
"""
import sys, os, json
import openpyxl
OUTDIR = r'D:\01.프로젝트\DB수집\작업파일\공공기관2'
TEMP = r'D:\01.프로젝트\DB수집\_temp'
def demote(N):
parts = [p for p in (N or '').split(',') if p and p != '이미지']
return ','.join(parts) if parts else '없음'
def run(name):
plan = json.load(open(os.path.join(TEMP, f'nshot_{name}', f'plan_{name}.json'), encoding='utf-8'))
xlsx = __import__('glob').glob(os.path.join(OUTDIR, f'*.{name}', f'{name}.xlsx'))[0]
wb = openpyxl.load_workbook(xlsx)
ws = wb.active
chg = 0
for it in plan:
if it['auto'] == '어문':
r = it['row']
cur = ws.cell(r, 14).value or ''
if '이미지' in cur:
ws.cell(r, 14).value = demote(cur)
chg += 1
wb.save(xlsx)
cand = sum(1 for it in plan if it['auto'] == 'candidate')
print(f'[{name}] 이미지강등 {chg}행 | 잔여이미지후보 {cand}행(시각판정 영역)')
if __name__ == '__main__':
run(sys.argv[1])