53 lines
3.2 KiB
Python
53 lines
3.2 KiB
Python
import os, sys, re
|
|
|
|
sys.stdout.reconfigure(encoding='utf-8')
|
|
|
|
# Exclude 제9장_측량 for now as survey has long formal names like '작업계획 및 준비'
|
|
target_files = [
|
|
# 02_토목부문
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제1장_도로포장공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제2장_하천공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제3장_터널공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제4장_궤도공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제5장_강구조공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제6장_관부설및접합공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제7장_항만공사.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제8장_지반조사.md',
|
|
# 05_유지관리부문
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제1장_공통.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제2장_토목.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제3장_건축.md',
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/05_유지관리부문/제4장_기계설비.md',
|
|
# 04_기계설비부문 제13장
|
|
'resources/knowledge/original/원가계산/건설공사_표준품셈/04_기계설비부문/제13장_플랜트설비공사.md',
|
|
]
|
|
|
|
print("=== Scanning non-survey files for split Col 0 ===")
|
|
for fpath in target_files:
|
|
fname = os.path.basename(fpath)
|
|
with open(fpath, 'r', encoding='utf-8') as f:
|
|
lines = f.readlines()
|
|
|
|
found_in_f = []
|
|
for idx, line in enumerate(lines):
|
|
if not line.startswith('|'):
|
|
continue
|
|
cells = [c.strip() for c in line.split('|')[1:-1]]
|
|
if not cells or all(re.match(r'^:?-+:?$', c) for c in cells if c):
|
|
continue
|
|
c0 = cells[0]
|
|
# Check if c0 is a continuation of previous line or fragmented words
|
|
if c0 in ['구 간', '구간', '설 치', '설치', '후 설치', '후설치', '조립 설치', '조립설치', '취급함.', '정돈함.',
|
|
'조양함', '매 립 식', '( 직 결 형 )', '설 준 비', 'P C T', '목 침 목', '→ P C T', '교 환',
|
|
'분기기', '교 량', '터 널', '상', '중', '수']:
|
|
found_in_f.append((idx + 1, c0, line.strip()[:90]))
|
|
elif re.match(r'^(하고|하며|하여|혹은|및|등|까지|위해|위하여|취부함)\b', c0):
|
|
found_in_f.append((idx + 1, c0, line.strip()[:90]))
|
|
elif any(c0.endswith(tail) for tail in ['하고', '하며', '혹은', '위해', '위하여', '운반,']):
|
|
found_in_f.append((idx + 1, c0, line.strip()[:90]))
|
|
|
|
if found_in_f:
|
|
print(f"\n[{fname}] ({len(found_in_f)}건)")
|
|
for lno, c0, lstr in found_in_f:
|
|
print(f" L{lno:<5} | '{c0}' | {lstr}")
|