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타이어롤러8∼15ton대1진동롤러10ton대1[주] ① 본 품은 피니셔를 사용한 린 콘크리트의 기층 포설 기준이다." repl_1_6_1 = """1-6-1 린 콘크리트 기층 포설 (일당) | 구 분 | 규 격 | 단 위 | 수 량 | 시공량(㎥) | | |---|---|---|---|---|---| | | | | | 일반포장 | 터널포장 | | 포장공 | | 인 | 2 | 550 | 500 | | 보통인부 | | 인 | 2 | | | | 아스팔트피니셔 | 3m | 대 | 1 | | | | 타이어롤러 | 8∼15ton | 대 | 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.")