DB_JOB/작업파일/공공기관2/_n_cands.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.2 KiB
Python

# -*- coding: utf-8 -*-
"""몽타주 candidate 행의 (행번호, 현재N, 라벨) 출력. 사용: python _n_cands.py <num>"""
import sys, io, os, glob, json
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import openpyxl
BASE = r"D:\01.프로젝트\DB수집\작업파일\공공기관2"
TEMP = r"D:\01.프로젝트\DB수집\_temp"
num = sys.argv[1]
fp = [x for x in glob.glob(os.path.join(BASE, f"{num}.*", "*.xlsx")) if "_backup" not in x and "~$" not in x][0]
name = os.path.basename(os.path.dirname(fp)).split('.', 1)[1]
ws = openpyxl.load_workbook(fp).active
last = {4: '', 5: '', 6: ''}
eff = {}
for r in range(3, ws.max_row + 1):
for c in (4, 5, 6):
v = ws.cell(r, c).value
if v not in (None, ''):
last[c] = v
eff[r] = (last[4], last[5], last[6])
plan_path = os.path.join(TEMP, f"nshot_{name}", f"plan_{name}.json")
p = json.load(open(plan_path, encoding='utf-8'))
print(f"# {name} candidates (몽타주 {fp})")
for it in p:
if it.get('auto') == 'candidate':
r = it['row']
d, e, f = eff.get(r, ('', '', ''))
lab = f or e or d
print(f"{r} | {it['N']} | imgs{it['n_imgs']} | {lab}")