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

247 lines
13 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. 02_토목부문/제1장_도로포장공사.md
ch1_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제1장_도로포장공사.md"
with open(ch1_path, 'r', encoding='utf-8') as f:
text1 = f.read()
target_1_5_2 = "1-5-2 아스팔트 기층 소규모포설(일당)배치인원(인)규 격단 위수 량시공량(㎡)포장공인2보통인부인1플레이트콤팩터1.5ton대1320진동롤러( 핸드가이드식)0.7ton대1로더(타이어)0.57㎥대1살수차5,500L대0.5[주] ① 본 품은 소로, 주택가내 도로 등 피니셔를 사용하지 못하는 소규모 아스팔트 기층 포설 기준이다."
repl_1_5_2 = """1-5-2 아스팔트 기층 소규모포설
(일당)
| 구 분 | 규 격 | 단 위 | 수 량 | 시공량(㎡) |
|---|---|---|---|---|
| 포장공 | | 인 | 2 | 320 |
| 보통인부 | | 인 | 1 | |
| 플레이트콤팩터 | 1.5ton | 대 | 1 | |
| 진동롤러(핸드가이드식) | 0.7ton | 대 | 1 | |
| 로더(타이어) | 0.57㎥ | 대 | 1 | |
| 살수차 | 5,500L | 대 | 0.5 | |
[주] ① 본 품은 소로, 주택가내 도로 등 피니셔를 사용하지 못하는 소규모 아스팔트 기층 포설 기준이다."""
target_1_6_1 = "1-6-1 린 콘크리트 기층 포설(일당)시공량(㎥)구 분규 격단 위수 량일반포장터널포장포장공인2보통인부인2아스팔트피니셔3m대1550500타이어롤러815ton대1진동롤러10ton대1[주] ① 본 품은 피니셔를 사용한 린 콘크리트의 기층 포설 기준이다."
repl_1_6_1 = """1-6-1 린 콘크리트 기층 포설
(일당)
| 구 분 | 규 격 | 단 위 | 수 량 | 시공량(㎥) | |
|---|---|---|---|---|---|
| | | | | 일반포장 | 터널포장 |
| 포장공 | | 인 | 2 | 550 | 500 |
| 보통인부 | | 인 | 2 | | |
| 아스팔트피니셔 | 3m | 대 | 1 | | |
| 타이어롤러 | 815ton | 대 | 1 | | |
| 진동롤러 | 10ton | 대 | 1 | | |
[주] ① 본 품은 피니셔를 사용한 린 콘크리트의 기층 포설 기준이다."""
target_wire1 = "- 2. 와이어 설치(일당)구 분단 위수 량시공량(m)특별인부인4200보통인부인2[주] ① 본 품은 높이 3m이하 낙석방지책의 와이어를 설치하는 기준이다."
repl_wire1 = """- 2. 와이어 설치(일당)
| 구 분 | 단 위 | 수 량 | 시공량(m) |
|---|---|---|---|
| 특별인부 | 인 | 4 | 200 |
| 보통인부 | 인 | 2 | |
[주] ① 본 품은 높이 3m이하 낙석방지책의 와이어를 설치하는 기준이다."""
target_wire2 = "- 2. 철망 및 와이어 설치(일당)구 분규 격단 위수 량시공량(㎡)특별인부인2기계식보통인부인3400크레인50ton대1특별인부인2인력식100보통인부인3[주] ① 본 품은 낙석방지망(포켓식, 비포켓식)의 철망 및 와이어로프를 설치하는 기준이다."
repl_wire2 = """- 2. 철망 및 와이어 설치(일당)
| 구 분 | 규 격 | 단 위 | 수 량 | 시공량(㎡) |
|---|---|---|---|---|
| **기계식** | | | | |
| 특별인부 | | 인 | 2 | 400 |
| 보통인부 | | 인 | 3 | |
| 크레인 | 50ton | 대 | 1 | |
| **인력식** | | | | |
| 특별인부 | | 인 | 2 | 100 |
| 보통인부 | | 인 | 3 | |
[주] ① 본 품은 낙석방지망(포켓식, 비포켓식)의 철망 및 와이어로프를 설치하는 기준이다."""
text1 = text1.replace(target_1_5_2, repl_1_5_2)
text1 = text1.replace(target_1_6_1, repl_1_6_1)
text1 = text1.replace(target_wire1, repl_wire1)
text1 = text1.replace(target_wire2, repl_wire2)
with open(ch1_path, 'w', encoding='utf-8') as f:
f.write(text1)
print("Updated 제1장_도로포장공사.md successfully.")
# 2. 02_토목부문/제2장_하천공사.md
ch2_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제2장_하천공사.md"
with open(ch2_path, 'r', encoding='utf-8') as f:
text2 = f.read()
target_2_2_2 = "2-2-2 매트리스형 돌망태 설치('07, '12년 보완)(㎡당)구 분규 격단 위수 량석공-인0.027특별인부-인0.010보통인부-인0.010굴착기1.0㎥hr0.025[주] ① 본 품은 매트리스형 돌망태(폭 200㎝, 높이 30㎝)를 설치하는 기준이다."
repl_2_2_2 = """2-2-2 매트리스형 돌망태 설치('07, '12년 보완)
(㎡당)
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 석공 | - | 인 | 0.027 |
| 특별인부 | - | 인 | 0.010 |
| 보통인부 | - | 인 | 0.010 |
| 굴착기 | 1.0㎥ | hr | 0.025 |
[주] ① 본 품은 매트리스형 돌망태(폭 200㎝, 높이 30㎝)를 설치하는 기준이다."""
target_2_3_2 = "2-3-2 블록 붙이기(인력)('12년 보완)(㎡당)구 분규 격단 위수 량인0.076특별인부보통인부인0.066[주] ① 본 품은 하천제방에 인력으로 호안블록을 설치하는 기준이다."
repl_2_3_2 = """2-3-2 블록 붙이기(인력)('12년 보완)
(㎡당)
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 특별인부 | - | 인 | 0.076 |
| 보통인부 | - | 인 | 0.066 |
[주] ① 본 품은 하천제방에 인력으로 호안블록을 설치하는 기준이다."""
target_2_3_3 = "2-3-3 블록 붙이기(기계)('12년 보완)(㎡당)구 분규 격단 위수 량특별인부인0.017보통인부인0.007크레인10 톤시간0.048[주] ① 본 품은 하천제방에 장비를 사용하여 호안블록을 설치하는 기준이다."
repl_2_3_3 = """2-3-3 블록 붙이기(기계)('12년 보완)
(㎡당)
| 구 분 | 규 격 | 단 위 | 수 량 |
|---|---|---|---|
| 특별인부 | - | 인 | 0.017 |
| 보통인부 | - | 인 | 0.007 |
| 크레인 | 10 톤 | 시간 | 0.048 |
[주] ① 본 품은 하천제방에 장비를 사용하여 호안블록을 설치하는 기준이다."""
text2 = text2.replace(target_2_2_2, repl_2_2_2)
text2 = text2.replace(target_2_3_2, repl_2_3_2)
text2 = text2.replace(target_2_3_3, repl_2_3_3)
with open(ch2_path, 'w', encoding='utf-8') as f:
f.write(text2)
print("Updated 제2장_하천공사.md successfully.")
# 3. 02_토목부문/제4장_궤도공사.md
ch4_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제4장_궤도공사.md"
with open(ch4_path, 'r', encoding='utf-8') as f:
text4 = f.read()
target_4_6_10 = "4-6-10 목침목 탄성체결장치 설치('12년 보완)(침목 개소당)구 분단 위수 량궤도공인0.028보통인부인0.022[주] ① 본 품은 목침목에 탄성체결장치를 설치하는 기준이다."
repl_4_6_10 = """4-6-10 목침목 탄성체결장치 설치('12년 보완)
(침목 개소당)
| 구 분 | 단 위 | 수 량 |
|---|---|---|
| 궤도공 | 인 | 0.028 |
| 보통인부 | 인 | 0.022 |
[주] ① 본 품은 목침목에 탄성체결장치를 설치하는 기준이다."""
text4 = text4.replace(target_4_6_10, repl_4_6_10)
with open(ch4_path, 'w', encoding='utf-8') as f:
f.write(text4)
print("Updated 제4장_궤도공사.md successfully.")
# 4. 02_토목부문/제5장_강구조공사.md
ch5_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제5장_강구조공사.md"
with open(ch5_path, 'r', encoding='utf-8') as f:
text5 = f.read()
target_5_p1 = "- 인력에 의한 부설 및 접합을 수행하는 경우 다음 품을 적용한다. 구 분 단 위 수 량 관경(㎜) 시공량(본) 배관공(수도) 인 3 80 15 보 통 인 부 인 1 100 13 배관공(수도) 인 3 150 11 보 통 인 부 인 1.5 200 9"
repl_5_p1 = """- 인력에 의한 부설 및 접합을 수행하는 경우 다음 품을 적용한다.
| 관경(㎜) | 시공량(본) | 배관공(수도) (인) | 보통인부 (인) |
|---|---|---|---|
| 80 | 15 | 3 | 1 |
| 100 | 13 | 3 | 1 |
| 150 | 11 | 3 | 1.5 |
| 200 | 9 | 3 | 1.5 |"""
target_5_p2 = "- 인력에 의한 부설 및 접합을 수행하는 경우 다음 품을 적용한다. 구 분 단 위 수 량 관경(㎜) 시공량(본) 배관공(수도) 인 3 80 13 보 통 인 부 인 1 100 12 배관공(수도) 인 3 150 10 보 통 인 부 인 1.5 200 8"
repl_5_p2 = """- 인력에 의한 부설 및 접합을 수행하는 경우 다음 품을 적용한다.
| 관경(㎜) | 시공량(본) | 배관공(수도) (인) | 보통인부 (인) |
|---|---|---|---|
| 80 | 13 | 3 | 1 |
| 100 | 12 | 3 | 1 |
| 150 | 10 | 3 | 1.5 |
| 200 | 8 | 3 | 1.5 |"""
text5 = text5.replace(target_5_p1, repl_5_p1)
text5 = text5.replace(target_5_p2, repl_5_p2)
with open(ch5_path, 'w', encoding='utf-8') as f:
f.write(text5)
print("Updated 제5장_강구조공사.md successfully.")
# 5. 02_토목부문/제6장_관부설및접합공사.md
ch6_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제6장_관부설및접합공사.md"
with open(ch6_path, 'r', encoding='utf-8') as f:
text6 = f.read()
target_6_p = "- 인력에 의한 부설을 수행하는 경우 다음 품을 적용한다. 구 분 단 위 수 량 관경(㎜) 시공량(본) 배관공(수도) 인 2 80 8 보 통 인 부 인 1 100 6 배관공(수도) 인 3 150 4 보 통 인 부 인 1 200 3"
repl_6_p = """- 인력에 의한 부설을 수행하는 경우 다음 품을 적용한다.
| 관경(㎜) | 시공량(본) | 배관공(수도) (인) | 보통인부 (인) |
|---|---|---|---|
| 80 | 8 | 2 | 1 |
| 100 | 6 | 2 | 1 |
| 150 | 4 | 3 | 1 |
| 200 | 3 | 3 | 1 |"""
text6 = text6.replace(target_6_p, repl_6_p)
with open(ch6_path, 'w', encoding='utf-8') as f:
f.write(text6)
print("Updated 제6장_관부설및접합공사.md successfully.")
# 6. 02_토목부문/제7장_항만공사.md
ch7_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제7장_항만공사.md"
with open(ch7_path, 'r', encoding='utf-8') as f:
text7 = f.read()
target_7_2_2 = "7-2-2 해상투하('19년 보완)(10㎥당)수 량구 분단 위0.03㎥ 이하 굴착기 투하0.1㎥ 이상 크레인 투하잠수부조0.070.09특별인부인0.040.20보통인부인0.120.22[주] ① 본 품은 해상 투하장소에 도착하여 대선위에서 투하하는 것이다."
repl_7_2_2 = """7-2-2 해상투하('19년 보완)
(10㎥당)
| 구 분 | 단 위 | 수 량 | |
|---|---|---|---|
| | | 0.03㎥ 이하 굴착기 투하 | 0.1㎥ 이상 크레인 투하 |
| 잠수부 | 조 | 0.07 | 0.09 |
| 특별인부 | 인 | 0.04 | 0.20 |
| 보통인부 | 인 | 0.12 | 0.22 |
[주] ① 본 품은 해상 투하장소에 도착하여 대선위에서 투하하는 것이다."""
text7 = text7.replace(target_7_2_2, repl_7_2_2)
with open(ch7_path, 'w', encoding='utf-8') as f:
f.write(text7)
print("Updated 제7장_항만공사.md successfully.")
# 7. 02_토목부문/제9장_측량.md
ch9_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/02_토목부문/제9장_측량.md"
with open(ch9_path, 'r', encoding='utf-8') as f:
text9 = f.read()
target_9_cad = "- 3. 기존 도로대장(종이, PDF, CAD 등)을 이용하여 작성하는 경우(단위 : 10㎞)투입인원작업구분비 고특급기술자고급기술자중급기술자초급기술자작업계획 및 준비0.30.7정위치편집0.81.22.0구조화편집1.64.02.4정리 및 점검0.10.50.4계0.43.65.64.4[주] ① 기존 도로대장(종이, PDF, CAD 등)을 활용하여 도로대장을 작성하는 경우라 함은 현행화된 기존 도로대장을 디지털화하여 작성하는 일련의 작업과정을 의미하며, 본 품은 CAD 형태의 기존 도로대장을 이용한 작성을 기준으로 한 것이다.㉮ 본 품에서 기존 도로대장 형태가 종이일 경우 ‘[토목부문] 9-5-4/3. 자동입력’의 자동독취, 벡터편집 작업 품을 별도 계상한다.㉯ 본 품에서 기존 도로대장 형태가 PDF일 경우 ‘[토목부문] 9-5-4/3. 자동입력’의 벡터편집 작업 품을 별도 계상한다."
repl_9_cad = """- 3. 기존 도로대장(종이, PDF, CAD 등)을 이용하여 작성하는 경우
(단위 : 10㎞)
| 작업구분 | 투입인원 | | | | 비 고 |
|---|---|---|---|---|---|
| | 특급기술자 | 고급기술자 | 중급기술자 | 초급기술자 | |
| 작업계획 및 준비 | 0.3 | 0.7 | - | - | |
| 정위치편집 | - | 0.8 | 1.2 | 2.0 | |
| 구조화편집 | - | 1.6 | 4.0 | 2.4 | |
| 정리 및 점검 | 0.1 | 0.5 | 0.4 | - | |
| 계 | 0.4 | 3.6 | 5.6 | 4.4 | |
[주] ① 기존 도로대장(종이, PDF, CAD 등)을 활용하여 도로대장을 작성하는 경우라 함은 현행화된 기존 도로대장을 디지털화하여 작성하는 일련의 작업과정을 의미하며, 본 품은 CAD 형태의 기존 도로대장을 이용한 작성을 기준으로 한 것이다.
㉮ 본 품에서 기존 도로대장 형태가 종이일 경우 ‘[토목부문] 9-5-4/3. 자동입력’의 자동독취, 벡터편집 작업 품을 별도 계상한다.
㉯ 본 품에서 기존 도로대장 형태가 PDF일 경우 ‘[토목부문] 9-5-4/3. 자동입력’의 벡터편집 작업 품을 별도 계상한다."""
text9 = text9.replace(target_9_cad, repl_9_cad)
with open(ch9_path, 'w', encoding='utf-8') as f:
f.write(text9)
print("Updated 제9장_측량.md successfully.")