공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
1005 B
Python
37 lines
1005 B
Python
# -*- coding: utf-8 -*-
|
|
import openpyxl
|
|
from datetime import datetime
|
|
|
|
PATH = '전북특별자치도_장수군.xlsx'
|
|
SITE = '전북특별자치도 장수군'
|
|
WORKER = '프리랜서2'
|
|
ZDATE = datetime(2026, 6, 5)
|
|
|
|
wb = openpyxl.load_workbook(PATH)
|
|
ws = wb.active
|
|
|
|
def isdata(r):
|
|
return any(ws.cell(r, c).value not in (None, '') for c in range(4, 12))
|
|
|
|
rows = [r for r in range(3, ws.max_row + 1) if isdata(r)]
|
|
|
|
nb = nc = ny = 0
|
|
for i, r in enumerate(rows, start=1):
|
|
# 1) B순번 연속 재부여
|
|
if ws.cell(r, 2).value != i:
|
|
ws.cell(r, 2).value = i
|
|
nb += 1
|
|
# 2) C 사이트명 빈칸 채움
|
|
if ws.cell(r, 3).value in (None, ''):
|
|
ws.cell(r, 3).value = SITE
|
|
nc += 1
|
|
# 3) Y/Z/AA 기입
|
|
if ws.cell(r, 25).value in (None, ''):
|
|
ws.cell(r, 25).value = 'Y'; ny += 1
|
|
ws.cell(r, 26).value = ZDATE
|
|
ws.cell(r, 27).value = WORKER
|
|
|
|
print(f'데이터행 {len(rows)} | B재부여 {nb} | C채움 {nc} | Y채움 {ny}')
|
|
wb.save(PATH)
|
|
print('saved')
|