Files
Aislo/resources/tester/scratch/restore_collapsed_tables_linked.py
T

63 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import sys, os, re
sys.stdout.reconfigure(encoding='utf-8')
# 1. 01_공통부문/제1장_적용기준.md 의 1-2-7 적재량 표 복원
fpath_ch1 = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제1장_적용기준.md"
with open(fpath_ch1, 'r', encoding='utf-8') as f:
text1 = f.read()
# Pattern in 1-2-7: table with 주철관, 도복장강관, PC파일, 시멘트, 전주
# Let's inspect where collapsed table in 1-2-7 is
pattern_127 = re.compile(r'\|\s*주\s*철\s*관.*?\|\n', re.DOTALL)
m127 = pattern_127.search(text1)
if m127:
print(f"1-2-7 collapsed row found, len={len(m127.group(0))}")
restored_127 = """| 주 철 관 | ø80㎜∼150㎜ L=6.0m | 본 | 42111 | 46123 | - | - | |
| 〃 | 200450 〃 | 〃 | 930 | 1034 | - | - | |
| 〃 | 500600 〃 | 〃 | 6 | 69 | - | - | |
| 〃 | 700900 〃 | 〃 | 3 | 35 | - | - | |
| 〃 | 1,000〃 | 〃 | 2 | 2 | - | - | |
| 도복장강관 | ø300㎜∼450㎜ L=6.0m | 본 | 1018 | 1422 | - | - | |
| 〃 | 500700〃 | 〃 | 39 | 610 | - | - | |
| 〃 | 8001,000〃 | 〃 | 13 | 3 | - | - | |
| 〃 | 1,2002,100〃 | 〃 | 1 | 1 | - | - | |
| 〃 | 2,2002,300〃 | 〃 | - | 1 | - | - | |
| P ・C 파일 | ø300㎜∼440㎜ L=9.0m | 본 | - | - | 610 | 1118 | |
| 〃 | 450500 〃 | 〃 | - | - | 45 | 89 | |
| 시 멘 트 | 40㎏ | 대 | 150 | 200 | 275 | 637 | (25.5톤 화물차는 풀카고 기준) |
| 전 주 | 10m(일반용) | 본 | - | - | 12 | 23 | |
| 〃 | 체신주 8m | 〃 | - | 17 | 23 | 43 | |"""
text1 = text1[:m127.start()] + restored_127 + '\n' + text1[m127.end():]
with open(fpath_ch1, 'w', encoding='utf-8') as f:
f.write(text1)
print("1-2-7 table restored successfully!")
else:
print("1-2-7 collapsed row not matched.")
# 2. 1-3-1 재료할증 사석표 복원
# check if 사석 table collapsed in ch1
pattern_131 = re.compile(r'\|\s*기\s*초\s*사\s*석.*?\|\n', re.DOTALL)
m131 = pattern_131.search(text1)
if m131:
print(f"1-3-1 사석 collapsed row found, len={len(m131.group(0))}")
restored_131 = """| 기 초 사 석 | 25% | 20% | 30% | 25% | 50% | 40% |
| 피 복 석 ( 被 覆 石 ) | 15% | 15% | 15% | 15% | 20% | 20% |
| 뒤 채 움 사 석 | 20% | 20% | 20% | 20% | 25% | 25% |"""
text1 = text1[:m131.start()] + restored_131 + '\n' + text1[m131.end():]
with open(fpath_ch1, 'w', encoding='utf-8') as f:
f.write(text1)
print("1-3-1 사석 table restored successfully!")
# 3. 03_건축부문/제9장_미장공사.md 모르타르 배합표 점검
fpath_ch9 = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제9장_미장공사.md"
with open(fpath_ch9, 'r', encoding='utf-8') as f:
text9 = f.read()
# Let's inspect collapsed row in 제9장
print("\n--- Inspecting collapsed rows in 제9장_미장공사.md ---")
for l in text9.split('\n'):
if l.strip().startswith('|') and l.strip().endswith('|'):
tokens = l.split()
if len(tokens) >= 15:
print(f"Collapsed row: {l[:100]}...")