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

296 lines
16 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 os, sys, re
sys.stdout.reconfigure(encoding='utf-8')
# 1. 01_공통부문/제2장_가설공사.md
ch2_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제2장_가설공사.md"
with open(ch2_path, 'r', encoding='utf-8') as f:
text2 = f.read()
# Fix 2-8-7
target_2_8_7 = "2-8-7 철골 안전망 설치 및 해체('18년 보완)(10㎡당)구 분단위수 량비계공인0.17보통인부인0.05[주] ① 본 품은 철골공사 시공 중 철골사이에 설치되는 안전망의 설치 및 해체 작업 기준이다."
repl_2_8_7 = """2-8-7 철골 안전망 설치 및 해체('18년 보완)
(10㎡당)
| 구 분 | 단 위 | 수 량 |
|---|---|---|
| 비계공 | 인 | 0.17 |
| 보통인부 | 인 | 0.05 |
[주] ① 본 품은 철골공사 시공 중 철골사이에 설치되는 안전망의 설치 및 해체 작업 기준이다."""
# Fix 2-8-10
target_2_8_10 = "2-8-10 수직형 추락방망 설치 및 해체('20년 신설)(10개소당)개구부 면적구 분단 위1.0㎡이하1.0~3.0㎡이하3.0~6.0㎡이하6.0~9.0㎡이하9.0~12.0㎡이하비계공인0.490.631.011.301.60[주] ① 본 품은 창호, 발코니 등 개구부에 추락의 위험을 방지하기 위한 수직형 방망을 설치 및 해체하는 기준이다."
repl_2_8_10 = """2-8-10 수직형 추락방망 설치 및 해체('20년 신설)
(10개소당)
| 구 분 | 단 위 | 개구부 면적 | | | | |
|---|---|---|---|---|---|---|
| | | 1.0㎡이하 | 1.0~3.0㎡이하 | 3.0~6.0㎡이하 | 6.0~9.0㎡이하 | 9.0~12.0㎡이하 |
| 비계공 | 인 | 0.49 | 0.63 | 1.01 | 1.30 | 1.60 |
[주] ① 본 품은 창호, 발코니 등 개구부에 추락의 위험을 방지하기 위한 수직형 방망을 설치 및 해체하는 기준이다."""
# Fix 2-11-5
target_2_11_5 = "2-11-5 비산먼지 발생 억제를 위한 살수('02년 신설, '09년 보완)(100㎡당)구 분규 격단 위수 량물탱크(살수차)16,000ℓ시간0.008[주] ① 본 품은 공사현장의 비산먼지 발생억제를 위하여 물탱크(살수차)로 살수하는 품이다."
repl_2_11_5 = """2-11-5 비산먼지 발생 억제를 위한 살수('02년 신설, '09년 보완)
(100㎡당)
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 물탱크(살수차) | 16,000 | 시간 | 0.008 |
[주] ① 본 품은 공사현장의 비산먼지 발생억제를 위하여 물탱크(살수차)로 살수하는 품이다."""
# Fix 2-11-7
target_2_11_7 = "2-11-7 슬러지 제거('19년 신설)(회당)구 분규 격단 위수 량특별인부인0.63굴착기0.2㎥hr1.00[주] ① 본 품은 자동세륜기(슬러지함 2.0×1.2×1.2m) 슬러지를 제거하는 기준이다."
repl_2_11_7 = """2-11-7 슬러지 제거('19년 신설)
(회당)
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 특별인부 | | 인 | 0.63 |
| 굴착기 | 0.2㎥ | hr | 1.00 |
[주] ① 본 품은 자동세륜기(슬러지함 2.0×1.2×1.2m) 슬러지를 제거하는 기준이다."""
# Replace page header attachments
text2 = text2.replace("인력품의 2%로 계상한다.52공통부문\n" + target_2_8_7, "인력품의 2%로 계상한다.\n\n52 공통부문\n\n" + repl_2_8_7)
text2 = text2.replace(target_2_8_7, repl_2_8_7)
text2 = text2.replace("1회사용 후 100%로 한다.53제2장 가설공사\n" + target_2_8_10, "1회사용 후 100%로 한다.\n\n53 제2장 가설공사\n\n" + repl_2_8_10)
text2 = text2.replace(target_2_8_10, repl_2_8_10)
text2 = text2.replace(target_2_11_5, repl_2_11_5)
text2 = text2.replace("인력품의 2%로 계상한다.62공통부문\n" + target_2_11_7, "인력품의 2%로 계상한다.\n\n62 공통부문\n\n" + repl_2_11_7)
text2 = text2.replace(target_2_11_7, repl_2_11_7)
# Clean up L348 & L371 embedded table residue in 비고
target_bg1 = "비 고 | - 수평연결재가 필요한 경우는 다음과 같이 계상한다. (1단 설치일 때, ㎡당 구 분 규 격 단 위 수 량 형 틀 목 공 설치, 해체 인 0.02 보 통 인 부 설치, 해체 인 0.01 ※ 전체동바리 연결을 기준으로 산정된 것이다. - 설치간격에 따라 시공량에 다음 요율을 적용한다. 설치간격 0.6m이하 0.6m초과∼0.8m이하 0.8m초과 요 율 - 17% - + 11% ※ 설치간격은 멍에간격을 기준한 것이다."
repl_bg1 = "비 고 | - 수평연결재가 필요한 경우는 다음과 같이 계상한다. (1단 설치일 때, ㎡당, 아래 표 참조) ※ 전체동바리 연결을 기준으로 산정된 것이다. - 설치간격에 따라 시공량에 다음 요율을 적용한다. (아래 표 참조) ※ 설치간격은 멍에간격을 기준한 것이다."
text2 = text2.replace(target_bg1, repl_bg1)
target_bg2 = "비 고 | - 수평연결재가 필요한 경우는 다음과 같이 계상한다. (1단설치일 때, ㎡당 구 분 규 격 단 위 수 량 형 틀 목 공 설치, 해체 인 0.02 보 통 인 부 설치, 해체 인 0.01 ※ 전체동바리 연결을 기준으로 산정된 것이다. - 설치간격에 따라 시공량에 다음 요율을 적용한다. 설치간격 0.6m이하 0.6m초과∼0.8m이하 0.8m초과 요 율 - 17% - + 11% ※ 설치간격은 멍에간격을 기준한다."
repl_bg2 = "비 고 | - 수평연결재가 필요한 경우는 다음과 같이 계상한다. (1단설치일 때, ㎡당, 아래 표 참조) ※ 전체동바리 연결을 기준으로 산정된 것이다. - 설치간격에 따라 시공량에 다음 요율을 적용한다. (아래 표 참조) ※ 설치간격은 멍에간격을 기준한다."
text2 = text2.replace(target_bg2, repl_bg2)
with open(ch2_path, 'w', encoding='utf-8') as f:
f.write(text2)
print("Updated 제2장_가설공사.md successfully.")
# 2. 01_공통부문/제4장_조경공사.md
ch4_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제4장_조경공사.md"
with open(ch4_path, 'r', encoding='utf-8') as f:
text4 = f.read()
target_4_4_4 = "4-4-4 야자섬유매트포장('22년 신설, '24년 보완)(일당)시공량(㎡)구 분단 위수 량폭 1.5m이하폭 2.0m이하조경공인290130보통인부인1[주] ① 본 품은 설치위치의 토공사가 완료된 상태에서 야자섬유매트로 포장하는 기준이다."
repl_4_4_4 = """4-4-4 야자섬유매트포장('22년 신설, '24년 보완)
(일당)
| 구 분 | 단 위 | 수 량 | 시공량(㎡) | |
|---|---|---|---|---|
| | | | 폭 1.5m이하 | 폭 2.0m이하 |
| 조경공 | 인 | 2 | 90 | 130 |
| 보통인부 | 인 | 1 | | |
[주] ① 본 품은 설치위치의 토공사가 완료된 상태에서 야자섬유매트로 포장하는 기준이다."""
text4 = text4.replace(target_4_4_4, repl_4_4_4)
with open(ch4_path, 'w', encoding='utf-8') as f:
f.write(text4)
print("Updated 제4장_조경공사.md successfully.")
# 3. 01_공통부문/제5장_기초공사.md
ch5_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제5장_기초공사.md"
with open(ch5_path, 'r', encoding='utf-8') as f:
text5 = f.read()
target_5_1_3 = "- ⑥ 장비(크레인)의 규격은 작업여건(시공높이, 시공위치 등) 및 안전율(적정하중, 작업반경 등)을 고려하여적합한 규격을 적용한다.99제5장 기초공사5-1-3 H-Beam 설치(버팀보)('26년 보완)(일당)시공량(본)구 분단 위수 량규격(m)H=250500H=6008005m이하1210철골공인36~8m119용접공인29~11m108보통인부인112~14m97크레인대115~18m86[주] ① 본 품은 수평지보공(H-Beam)의 버팀보 설치 품이다."
repl_5_1_3 = """- ⑥ 장비(크레인)의 규격은 작업여건(시공높이, 시공위치 등) 및 안전율(적정하중, 작업반경 등)을 고려하여적합한 규격을 적용한다.
99 제5장 기초공사
5-1-3 H-Beam 설치(버팀보)('26년 보완)
(일당)
| 구 분 | 단 위 | 수 량 | 규격(m) | 시공량(본) | |
|---|---|---|---|---|---|
| | | | | H=250500 | H=600800 |
| 철골공 | 인 | 3 | 5m이하 | 12 | 10 |
| 용접공 | 인 | 2 | 6~8m | 11 | 9 |
| 보통인부 | 인 | 1 | 9~11m | 10 | 8 |
| 크레인 | 대 | 1 | 12~14m | 9 | 7 |
| | | | 15~18m | 8 | 6 |
[주] ① 본 품은 수평지보공(H-Beam)의 버팀보 설치 품이다."""
target_5_1_8 = "5-1-8 복공판 설치·철거('25년 신설)(일당)시공량(㎡)구 분단 위수 량설치철거철골공인2용접공인2120170보통인부인1크레인대1[주] ① 본 품은 주형보 상부에 복공판을 설치 및 철거하는 기준이다."
repl_5_1_8 = """5-1-8 복공판 설치·철거('25년 신설)
(일당)
| 구 분 | 단 위 | 수 량 | 시공량(㎡) | |
|---|---|---|---|---|
| | | | 설치 | 철거 |
| 철골공 | 인 | 2 | 120 | 170 |
| 용접공 | 인 | 2 | | |
| 보통인부 | 인 | 1 | | |
| 크레인 | 대 | 1 | | |
[주] ① 본 품은 주형보 상부에 복공판을 설치 및 철거하는 기준이다."""
target_5_pbd1 = "- 2. 장비조립 및 해체(회당)구 분단 위수 량기계설비공인1인력철공〃2특별인부〃1장비크레인대1조립일2소요일수해체일1[주] ① 본 품은 PBD천공기를 1회 조립 및 해체하는 기준이며, 시공조건(외부 반입/반출)에 따라 조립․해체를 반복 적용한다."
repl_5_pbd1 = """- 2. 장비조립 및 해체(회당)
| 구 분 | 단 위 | 수 량 |
|---|---|---|
| 기계설비공 | 인 | 1 |
| 철공 | 인 | 2 |
| 특별인부 | 인 | 1 |
| 크레인 | 대 | 1 |
| 조립 | 일 | 2 |
| 해체 | 일 | 1 |
[주] ① 본 품은 PBD천공기를 1회 조립 및 해체하는 기준이며, 시공조건(외부 반입/반출)에 따라 조립․해체를 반복 적용한다."""
target_5_pbd2 = "- 3. 장비 및 인력편성구 분규 격단 위수 량특별인부인2보통인부〃1PBD천공기147㎾, 38m(리더길이)대1[주] ① 부속장비(자동기록기, 계측기, 맨드릴 등)의 경비는 인력품에 다음 요율을 적용한다."
repl_5_pbd2 = """- 3. 장비 및 인력편성
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 특별인부 | | 인 | 2 |
| 보통인부 | | 인 | 1 |
| PBD천공기 | 147㎾, 38m(리더길이) | 대 | 1 |
[주] ① 부속장비(자동기록기, 계측기, 맨드릴 등)의 경비는 인력품에 다음 요율을 적용한다."""
target_5_pbd3 = "- 2. 장비조립・해체(회당)구 분단 위외부 반출/반입작업구간내 이동기계설비공인11철공〃22특별인부〃11크레인대11조립일32소요일수해체〃1.51"
repl_5_pbd3 = """- 2. 장비조립・해체(회당)
| 구 분 | 단 위 | 외부 반출/반입 | 작업구간내 이동 |
|---|---|---|---|
| 기계설비공 | 인 | 1 | 1 |
| 철공 | 인 | 2 | 2 |
| 특별인부 | 인 | 1 | 1 |
| 크레인 | 대 | 1 | 1 |
| 조립 | 일 | 3 | 2 |
| 해체 | 일 | 1.5 | 1 |"""
text5 = text5.replace(target_5_1_3, repl_5_1_3)
text5 = text5.replace(target_5_1_8, repl_5_1_8)
text5 = text5.replace(target_5_pbd1, repl_5_pbd1)
text5 = text5.replace(target_5_pbd2, repl_5_pbd2)
text5 = text5.replace(target_5_pbd3, repl_5_pbd3)
# L150 주석 안 좌대 설치 및 해체
target_5_base = "- 좌대 설치 및 해체가 필요한 경우 다음 품을 적용한다. (일당) 시공량(개소) 구 분 단 위 수 량 설치 해체 철 공 인 1 18 35 보 통 인 부 인 1"
repl_5_base = """- 좌대 설치 및 해체가 필요한 경우 다음 품을 적용한다. (일당)
| 구 분 | 단 위 | 수 량 | 시공량(개소) | |
|---|---|---|---|---|
| | | | 설치 | 해체 |
| 철공 | 인 | 1 | 18 | 35 |
| 보통인부 | 인 | 1 | | |"""
text5 = text5.replace(target_5_base, repl_5_base)
with open(ch5_path, 'w', encoding='utf-8') as f:
f.write(text5)
print("Updated 제5장_기초공사.md successfully.")
# 4. 01_공통부문/제6장_철근콘크리트공사.md
ch6_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제6장_철근콘크리트공사.md"
with open(ch6_path, 'r', encoding='utf-8') as f:
text6 = f.read()
target_6_slip = "- 1. 설치 및 해체(㎡당)설 치해 체구 분단 위수 량구 분단 위수 량비계공인0.199특수비계공인0.154보통인부인0.091보통인부인0.064크레인hr0.132 크레인hr0.170[주] ① 슬립폼 제작비용은 별도계상하되, 단면형상은 고정단면을 기준으로 한 것이다."
repl_6_slip = """- 1. 설치 및 해체(㎡당)
| 설 치 | | | 해 체 | | |
|---|---|---|---|---|---|
| 구 분 | 단 위 | 수 량 | 구 분 | 단 위 | 수 량 |
| 비계공 | 인 | 0.199 | 특수비계공 | 인 | 0.154 |
| 보통인부 | 인 | 0.091 | 보통인부 | 인 | 0.064 |
| 크레인 | hr | 0.132 | 크레인 | hr | 0.170 |
[주] ① 슬립폼 제작비용은 별도계상하되, 단면형상은 고정단면을 기준으로 한 것이다."""
target_6_socket = "- 2. 소켓 연결(m당)구 분단 위수 량특별인부인0.085보통인부인0.029[주] ① 본 품은 지수판 연결재(소켓)를 사용한 지수판 설치를 기준한 것이다."
repl_6_socket = """- 2. 소켓 연결(m당)
| 구 분 | 단 위 | 수 량 |
|---|---|---|
| 특별인부 | 인 | 0.085 |
| 보통인부 | 인 | 0.029 |
[주] ① 본 품은 지수판 연결재(소켓)를 사용한 지수판 설치를 기준한 것이다."""
target_6_grout = "- 7. 그라우팅(일당)구 분규 격단 위수 량시공량(㎥)기계설비공인1인력특별인부인3보통인부인11.50그라우팅 믹서190×2ℓ대1장비그라우팅 펌프30~60ℓ/min대1[주] ① 본 품은 쉬즈관 내부 그라우팅 작업 기준이다."
repl_6_grout = """- 7. 그라우팅(일당)
| 구 분 | 규 격 | 단 위 | 수 량 | 시공량(㎥) |
|---|---|---|---|---|
| 기계설비공 | | 인 | 1 | 1.50 |
| 특별인부 | | 인 | 3 | |
| 보통인부 | | 인 | 1 | |
| 그라우팅 믹서 | 190×2 | 대 | 1 | |
| 그라우팅 펌프 | 30~60/min | 대 | 1 | |
[주] ① 본 품은 쉬즈관 내부 그라우팅 작업 기준이다."""
target_6_anchor = "- 2. 정착구 설치(개당)수 량(쉬즈관 규격)구 분단 위 ø75㎜ 이하ø100㎜ 이하ø130㎜ 이하형틀목공인0.380.480.61보통인부인0.180.230.29비고"
repl_6_anchor = """- . 정착구 설치(개당)
| 구 분 | 단 위 | 수 량 (쉬즈관 규격) | | | 비 고 |
|---|---|---|---|---|---|
| | | ø75㎜ 이하 | ø100㎜ 이하 | ø130㎜ 이하 | |
| 형틀목공 | 인 | 0.38 | 0.48 | 0.61 | |
| 보통인부 | 인 | 0.18 | 0.23 | 0.29 | |"""
target_6_sheath = "- 3. 쉬즈관 설치(m당)수 량(쉬즈관 규격)구 분단위ø75㎜ 이하ø100㎜이하ø130㎜이하철근공인0.030.050.07보통인부인0.020.020.03[주] ① 본 품은 쉬즈관을 철근에 연결하여 설치하는 기준이다."
repl_6_sheath = """- 3. 쉬즈관 설치(m당)
| 구 분 | 단 위 | 수 량 (쉬즈관 규격) | | |
|---|---|---|---|---|
| | | ø75㎜ 이하 | ø100㎜ 이하 | ø130㎜ 이하 |
| 철근공 | 인 | 0.03 | 0.05 | 0.07 |
| 보통인부 | 인 | 0.02 | 0.02 | 0.03 |
[주] ① 본 품은 쉬즈관을 철근에 연결하여 설치하는 기준이다."""
text6 = text6.replace(target_6_slip, repl_6_slip)
text6 = text6.replace(target_6_socket, repl_6_socket)
text6 = text6.replace(target_6_grout, repl_6_grout)
text6 = text6.replace(target_6_anchor, repl_6_anchor)
text6 = text6.replace(target_6_sheath, repl_6_sheath)
with open(ch6_path, 'w', encoding='utf-8') as f:
f.write(text6)
print("Updated 제6장_철근콘크리트공사.md successfully.")
# 5. 01_공통부문/제7장_돌공사.md
ch7_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제7장_돌공사.md"
with open(ch7_path, 'r', encoding='utf-8') as f:
text7 = f.read()
target_7_4_2 = "7-4-2 앵커 긴결공법('19, '26년 보완)(일당)시공량(㎡)구 분단 위수 량0.3㎡이하0.3㎡초과~0.8㎡이하석공인3줄눈공인11011보통인부인2[주] ① 본 품은 구조물 벽체에 앵커로 고정하여 석재판(비구조요소)을 설치하는 기준이다."
repl_7_4_2 = """7-4-2 앵커 긴결공법('19, '26년 보완)
(일당)
| 구 분 | 단 위 | 수 량 | 시공량(㎡) | |
|---|---|---|---|---|
| | | | 0.3㎡이하 | 0.3㎡초과~0.8㎡이하 |
| 석공 | 인 | 3 | 10 | 11 |
| 줄눈공 | 인 | 1 | | |
| 보통인부 | 인 | 2 | | |
[주] ① 본 품은 구조물 벽체에 앵커로 고정하여 석재판(비구조요소)을 설치하는 기준이다."""
text7 = text7.replace(target_7_4_2, repl_7_4_2)
with open(ch7_path, 'w', encoding='utf-8') as f:
f.write(text7)
print("Updated 제7장_돌공사.md successfully.")