- 공공기관2/3 작업본 + 오늘 제출 17곳 D~J 카테고리 셀병합 정상화 - 한국지역난방공사 옵션2(고아셀 F98 수정)+전행 높이17 - 제출_프리랜서2_2026-06-21.zip 생성(17개 xlsx, 2,468행) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""공공기관3 L/M/N/O 채우기 (엔진 _공공기관2_phase234 재사용·OUTDIR override)
|
|
사용: python _phase234.py {num.기관폴더의 기관명} ... (인자=기관명 또는 번호)"""
|
|
import sys, io, os, importlib.util, glob, re
|
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
SCRIPTS = r"D:\01.프로젝트\DB수집\_스크립트"
|
|
OUT = r"D:\01.프로젝트\DB수집\작업파일\공공기관3"
|
|
spec = importlib.util.spec_from_file_location("p234", os.path.join(SCRIPTS, "_공공기관2_phase234.py"))
|
|
p234 = importlib.util.module_from_spec(spec); spec.loader.exec_module(p234)
|
|
p234.OUTDIR = OUT
|
|
# 폴더 스캔으로 (num,name) 목록
|
|
folders = {}
|
|
for d in glob.glob(os.path.join(OUT, "*.*")):
|
|
if os.path.isdir(d):
|
|
m = re.match(r"(\d+)\.(.+)", os.path.basename(d))
|
|
if m: folders[m.group(2)] = (int(m.group(1)), m.group(2))
|
|
args = sys.argv[1:]
|
|
targets = []
|
|
for a in args:
|
|
for nm,(num,name) in folders.items():
|
|
if a==nm or a==str(num): targets.append((num,name))
|
|
if not args:
|
|
targets = sorted(folders.values())
|
|
for num,name in targets:
|
|
try:
|
|
p234.run_site(name, num, p234.BODY_SEL)
|
|
except Exception as e:
|
|
import traceback; print(f"[{num}.{name}] 실패 {e}"); traceback.print_exc()
|