import os, sys, re sys.stdout.reconfigure(encoding='utf-8') # 1. 03_건축부문/제1장_철골공사.md ch1_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제1장_철골공사.md" with open(ch1_path, 'r', encoding='utf-8') as f: text1 = f.read() target_1_4_4 = "1-4-4 경량형강철골조 조립설치(ton당)수 량구 분단 위비 고내 력 식비 내 력 식철공인15.9312.54[주] ① 본 품은 건축구조용 표면처리 경량형강을 기준한 것이다." repl_1_4_4 = """1-4-4 경량형강철골조 조립설치 (ton당) | 구 분 | 단 위 | 수 량 | | 비 고 | |---|---|---|---|---| | | | 내 력 식 | 비 내 력 식 | | | 철공 | 인 | 15.93 | 12.54 | | [주] ① 본 품은 건축구조용 표면처리 경량형강을 기준한 것이다.""" text1 = text1.replace(target_1_4_4, repl_1_4_4) with open(ch1_path, 'w', encoding='utf-8') as f: f.write(text1) print("Updated 제1장_철골공사.md successfully.") # 2. 03_건축부문/제2장_조적공사.md ch2_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제2장_조적공사.md" with open(ch2_path, 'r', encoding='utf-8') as f: text2 = f.read() target_2_1_4 = "2-1-4 아치쌓기 치장줄눈 설치('13년 보완)(1,000매당)수 량 (벽두께)구 분단 위1.0B1.5B줄눈공인0.40.3[주] ① 본 품은 아치쌓기 구간에 치장줄눈을 채우는 기준이다." repl_2_1_4 = """2-1-4 아치쌓기 치장줄눈 설치('13년 보완) (1,000매당) | 구 분 | 단 위 | 수 량 (벽두께) | | |---|---|---|---| | | | 1.0B | 1.5B | | 줄눈공 | 인 | 0.4 | 0.3 | [주] ① 본 품은 아치쌓기 구간에 치장줄눈을 채우는 기준이다.""" target_2_3_2 = "2-3-2 ALC패널 설치('13, '25년 보완)(일당)구 분단 위수 량패널두께(mm)시공량(㎡)7522조적공인3100191251615014보통인부인11751320011[주] ① 본 품은 경량콘크리트 패널의 내벽설치 기준이다." repl_2_3_2 = """2-3-2 ALC패널 설치('13, '25년 보완) (일당) | 구 분 | 단 위 | 수 량 | 패널두께(mm) | 시공량(㎡) | |---|---|---|---|---| | 조적공 | 인 | 3 | 75 | 22 | | 보통인부 | 인 | 1 | 100 | 19 | | | | | 125 | 16 | | | | | 150 | 14 | | | | | 175 | 13 | | | | | 200 | 11 | [주] ① 본 품은 경량콘크리트 패널의 내벽설치 기준이다.""" text2 = text2.replace(target_2_1_4, repl_2_1_4) text2 = text2.replace(target_2_3_2, repl_2_3_2) with open(ch2_path, 'w', encoding='utf-8') as f: f.write(text2) print("Updated 제2장_조적공사.md successfully.") # 3. 03_건축부문/제3장_타일공사.md ch3_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제3장_타일공사.md" with open(ch3_path, 'r', encoding='utf-8') as f: text3 = f.read() target_3_2_3 = "3-2-3 접착 붙이기('98년 신설, '13, '16, '20, '25년 보완)(일당)구 분단 위수 량타일규격(㎡)시공량(㎡)0.04~0.10이하25타일공인20.11~0.20이하26보통인부인10.21~0.40이하28" repl_3_2_3 = """3-2-3 접착 붙이기('98년 신설, '13, '16, '20, '25년 보완) (일당) | 구 분 | 단 위 | 수 량 | 타일규격(㎡) | 시공량(㎡) | |---|---|---|---|---| | 타일공 | 인 | 2 | 0.04~0.10이하 | 25 | | 보통인부 | 인 | 1 | 0.11~0.20이하 | 26 | | | | | 0.21~0.40이하 | 28 |""" text3 = text3.replace(target_3_2_3, repl_3_2_3) with open(ch3_path, 'w', encoding='utf-8') as f: f.write(text3) print("Updated 제3장_타일공사.md successfully.") # 4. 03_건축부문/제4장_목공사.md ch4_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제4장_목공사.md" with open(ch4_path, 'r', encoding='utf-8') as f: text4 = f.read() target_4_3_3 = "4-3-3 목재데크틀 설치('24년 보완)(일당)구 분단 위수 량시공량(ton)철공인3평구조용접공인10.40보통인부인1철공인4계단구조용접공인10.32보통인부인2[주] ① 본 품은 철물(각관 및 형강)을 사용하여 데크틀(H-Beam 등 철골류 제외)을 설치하는 기준이다." repl_4_3_3 = """4-3-3 목재데크틀 설치('24년 보완) (일당) | 구 분 | 단 위 | 수 량 | 시공량(ton) | |---|---|---|---| | **평구조** | | | | | 철공 | 인 | 3 | 0.40 | | 용접공 | 인 | 1 | | | 보통인부 | 인 | 1 | | | **계단구조** | | | | | 철공 | 인 | 4 | 0.32 | | 용접공 | 인 | 1 | | | 보통인부 | 인 | 2 | | [주] ① 본 품은 철물(각관 및 형강)을 사용하여 데크틀(H-Beam 등 철골류 제외)을 설치하는 기준이다.""" text4 = text4.replace(target_4_3_3, repl_4_3_3) with open(ch4_path, 'w', encoding='utf-8') as f: f.write(text4) print("Updated 제4장_목공사.md successfully.") # 5. 03_건축부문/제5장_수장공사.md ch5_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제5장_수장공사.md" with open(ch5_path, 'r', encoding='utf-8') as f: text5 = f.read() target_5_4_2 = "5-4-2 단열재 접착제 붙이기('22, '24년 보완)(일당)시공량(㎡)구 분단 위수 량단열두께(mm)벽천장50이하4740내 장 공인2100이하4235200이하4032보통인부인1300이하3830[주] ① 본 품은 바탕면에 접착제를 사용하여 단열재를 설치하는 기준이다." repl_5_4_2 = """5-4-2 단열재 접착제 붙이기('22, '24년 보완) (일당) | 구 분 | 단 위 | 수 량 | 단열두께(mm) | 시공량(㎡) | | |---|---|---|---|---|---| | | | | | 벽 | 천장 | | 내장공 | 인 | 2 | 50이하 | 47 | 40 | | 보통인부 | 인 | 1 | 100이하 | 42 | 35 | | | | | 200이하 | 40 | 32 | | | | | 300이하 | 38 | 30 | [주] ① 본 품은 바탕면에 접착제를 사용하여 단열재를 설치하는 기준이다.""" target_5_4_9 = "5-4-9 외벽단열공법('99년 신설, '15, '22년 보완)(㎡당)단열두께(mm)구 분단 위60㎜이하100㎜이하200㎜이하내장공인0.0600.0630.081미장공인0.0380.0400.052보통인부인0.0310.0330.042" repl_5_4_9 = """5-4-9 외벽단열공법('99년 신설, '15, '22년 보완) (㎡당) | 구 분 | 단 위 | 단열두께(mm) | | | |---|---|---|---|---| | | | 60㎜이하 | 100㎜이하 | 200㎜이하 | | 내장공 | 인 | 0.060 | 0.063 | 0.081 | | 미장공 | 인 | 0.038 | 0.040 | 0.052 | | 보통인부 | 인 | 0.031 | 0.033 | 0.042 |""" # L149 주석 안 줄눈재 설치 target_5_joint = "| 비 고 | - 줄눈재 설치가 필요한 경우 다음을 적용한다. (일당) 구 분 단 위 수 량 시공량(m) 내 장 공 인 1 37" repl_5_joint = """| 비 고 | - 줄눈재 설치가 필요한 경우 다음을 적용한다. (일당) | 구 분 | 단 위 | 수 량 | 시공량(m) | |---|---|---|---| | 내장공 | 인 | 1 | 37 |""" text5 = text5.replace(target_5_4_2, repl_5_4_2) text5 = text5.replace(target_5_4_9, repl_5_4_9) text5 = text5.replace(target_5_joint, repl_5_joint) with open(ch5_path, 'w', encoding='utf-8') as f: f.write(text5) print("Updated 제5장_수장공사.md successfully.") # 6. 03_건축부문/제6장_방수공사.md ch6_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제6장_방수공사.md" with open(ch6_path, 'r', encoding='utf-8') as f: text6 = f.read() target_6_1_4 = "6-1-4 방수층 누름철물 설치('18년 신설)(m당)구 분단 위수 량방수공인0.011보통인부인0.011[주] 본 품은 시트 및 보호재 상부의 누름철물 마감 작업을 기준한 것이다." repl_6_1_4 = """6-1-4 방수층 누름철물 설치('18년 신설) (m당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 방수공 | 인 | 0.011 | | 보통인부 | 인 | 0.011 | [주] 본 품은 시트 및 보호재 상부의 누름철물 마감 작업을 기준한 것이다.""" target_6_6_2 = "6-6-2 줄눈 절단('18년 신설)(m당)구 분규 격단 위수 량방수공인0.005보통인부인0.001커터320~400㎜hr0.017[주] ① 본 품은 옥상 보호콘크리트의 절단을 기준한 것이다." repl_6_6_2 = """6-6-2 줄눈 절단('18년 신설) (m당) | 구 분 | 규 격 | 단 위 | 수 량 | |---|---|---|---| | 방수공 | | 인 | 0.005 | | 보통인부 | | 인 | 0.001 | | 커터 | 320~400㎜ | hr | 0.017 | [주] ① 본 품은 옥상 보호콘크리트의 절단을 기준한 것이다.""" target_6_6_3 = "6-6-3 줄눈 설치('18년 신설)(m당)구 분단 위수 량방수공인0.005보통인부인0.001[주] ① 본 품은 옥상 보호콘크리트의 줄눈 설치를 기준한 것이다." repl_6_6_3 = """6-6-3 줄눈 설치('18년 신설) (m당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 방수공 | 인 | 0.005 | | 보통인부 | 인 | 0.001 | [주] ① 본 품은 옥상 보호콘크리트의 줄눈 설치를 기준한 것이다.""" text6 = text6.replace(target_6_1_4, repl_6_1_4) text6 = text6.replace(target_6_6_2, repl_6_6_2) text6 = text6.replace(target_6_6_3, repl_6_6_3) with open(ch6_path, 'w', encoding='utf-8') as f: f.write(text6) print("Updated 제6장_방수공사.md successfully.") # 7. 03_건축부문/제7장_지붕및홈통공사.md ch7_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제7장_지붕및홈통공사.md" with open(ch7_path, 'r', encoding='utf-8') as f: text7 = f.read() target_7_3_1 = "7-3 드레인7-3-1 루프드레인 설치('16년 보완)(개소당)구 분단 위수 량배관공인0.17보통인부인0.04[주] ① 본 품은 루프드레인 규격 ø100㎜∼150㎜의 설치 기준이다." repl_7_3_1 = """7-3 드레인 7-3-1 루프드레인 설치('16년 보완) (개소당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 배관공 | 인 | 0.17 | | 보통인부 | 인 | 0.04 | [주] ① 본 품은 루프드레인 규격 ø100㎜∼150㎜의 설치 기준이다.""" text7 = text7.replace(target_7_3_1, repl_7_3_1) with open(ch7_path, 'w', encoding='utf-8') as f: f.write(text7) print("Updated 제7장_지붕및홈통공사.md successfully.") # 8. 03_건축부문/제9장_미장공사.md ch9_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제9장_미장공사.md" with open(ch9_path, 'r', encoding='utf-8') as f: text9 = f.read() target_9_1_5 = "9-1-5 라스 붙임('17년 신설)(10㎡당)구 분단 위수 량미장공인0.14[주] 본 품은 미장면 보강을 위해 미장 시 메탈라스 또는 유리섬유메쉬를 붙이는 작업을 기준한 것이다." repl_9_1_5 = """9-1-5 라스 붙임('17년 신설) (10㎡당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 미장공 | 인 | 0.14 | [주] 본 품은 미장면 보강을 위해 미장 시 메탈라스 또는 유리섬유메쉬를 붙이는 작업을 기준한 것이다.""" target_9_3_2 = "9-3-2 창호주위 발포우레탄 충전('14년 신설, '20년 보완)(10m당)구 분단 위수 량미장공인0.08보통인부인0.03[주] ① 본 품은 창호틀 주위에 발포우레탄을 사용하여 충전하는 기준이다." repl_9_3_2 = """9-3-2 창호주위 발포우레탄 충전('14년 신설, '20년 보완) (10m당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 미장공 | 인 | 0.08 | | 보통인부 | 인 | 0.03 | [주] ① 본 품은 창호틀 주위에 발포우레탄을 사용하여 충전하는 기준이다.""" target_9_door = "| 비 고 | - 문선을 설치하는 경우 다음 품을 추가 계상한다. (m당) 구 분 단 위 수 량 창 호 공 인 0.010" repl_9_door = """| 비 고 | - 문선을 설치하는 경우 다음 품을 추가 계상한다. (m당) | 구 분 | 단 위 | 수 량 | |---|---|---| | 창호공 | 인 | 0.010 |""" text9 = text9.replace(target_9_1_5, repl_9_1_5) text9 = text9.replace(target_9_3_2, repl_9_3_2) text9 = text9.replace(target_9_door, repl_9_door) with open(ch9_path, 'w', encoding='utf-8') as f: f.write(text9) print("Updated 제9장_미장공사.md successfully.") # 9. 03_건축부문/제10장_창호및유리공사.md ch10_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제10장_창호및유리공사.md" with open(ch10_path, 'r', encoding='utf-8') as f: text10 = f.read() target_10_3_2 = "10-3-2 커튼월유리 설치('14, '20, '26년 보완)(㎡당)수 량구 분단 위12㎜이하16㎜이하18㎜이하22㎜이하24㎜이하28㎜이하유리공인0.1200.1310.1370.1390.1450.155보통인부인0.0200.0210.0220.0230.0240.025[주] ①본 품은 커튼월 프레임에 구조용실란트를 사용하여 복층유리를 부착하는 기준이다." repl_10_3_2 = """10-3-2 커튼월유리 설치('14, '20, '26년 보완) (㎡당) | 구 분 | 단 위 | 수 량 | | | | | | |---|---|---|---|---|---|---|---| | | | 12㎜이하 | 16㎜이하 | 18㎜이하 | 22㎜이하 | 24㎜이하 | 28㎜이하 | | 유리공 | 인 | 0.120 | 0.131 | 0.137 | 0.139 | 0.145 | 0.155 | | 보통인부 | 인 | 0.020 | 0.021 | 0.022 | 0.023 | 0.024 | 0.025 | [주] ①본 품은 커튼월 프레임에 구조용실란트를 사용하여 복층유리를 부착하는 기준이다.""" text10 = text10.replace(target_10_3_2, repl_10_3_2) with open(ch10_path, 'w', encoding='utf-8') as f: f.write(text10) print("Updated 제10장_창호및유리공사.md successfully.") # 10. 03_건축부문/제11장_칠공사.md ch11_path = "resources/knowledge/original/원가계산/건설공사_표준품셈/03_건축부문/제11장_칠공사.md" with open(ch11_path, 'r', encoding='utf-8') as f: text11 = f.read() target_11_3_3 = "11-3-3 석재도료칠('14년 신설)(100㎡당)구 분규 격단 위줄눈무늬(無)줄눈무늬(有)도장공인0.6200.810보통인부인0.1000.130고소작업차3tonhr3.2704.280[주] ① 본 품은 석재가 포함된 도료를 1회 뿜칠하는 기준이다." repl_11_3_3 = """11-3-3 석재도료칠('14년 신설) (100㎡당) | 구 분 | 규 격 | 단 위 | 줄눈무늬(無) | 줄눈무늬(有) | |---|---|---|---|---| | 도장공 | | 인 | 0.620 | 0.810 | | 보통인부 | | 인 | 0.100 | 0.130 | | 고소작업차 | 3ton | hr | 3.270 | 4.280 | [주] ① 본 품은 석재가 포함된 도료를 1회 뿜칠하는 기준이다.""" text11 = text11.replace(target_11_3_3, repl_11_3_3) with open(ch11_path, 'w', encoding='utf-8') as f: f.write(text11) print("Updated 제11장_칠공사.md successfully.")