Hyun's Wonderwall

대한민국 법정동코드 데이터에서 동별 법정동코드만 얻기 본문

Study/Data Engineering

대한민국 법정동코드 데이터에서 동별 법정동코드만 얻기

Hyun_! 2025. 4. 8. 01:08

진행 중인 프로젝트에서 서울특별시 모든 동의 이름과 각 동 간의 식별이 필요했다.

임의로 지역마다 ID를 만들기보다 실제 존재하는 동별 식별번호를 사용해야겠다고 생각했다. API를 사용하기보다 파일에서 접근하는 것이 용이할 듯하여 국가기관 데이터를 찾아보았다.

 

행정표준코드관리시스템의 법정동코드목록조회에서 식별번호와 법정동명, 존재여부로 구성된 파일을 다운받을 수 있었다.

https://www.code.go.kr/stdcode/regCodeL.do

 

법정동코드목록조회 - 행정표준코드관리시스템

정상적으로 로그아웃하지 않았거나, 동일 사용자가 로그인한 상태입니다. 강제로 로그인 하시겠습니까? (강제 로그인 시 다시 로그인을 하셔야 합니다.)

www.code.go.kr

 

 

 

 


법정동코드는 앞의 2자리까지 시/도, 다음 3자리는 시/군/구, 다음 3자리는 읍/면/동, 나머지 2자리는 리를 표현한다.

이를 이용하여, '서울시'의 존재하는 '동' 데이터만 행을 추출해 csv파일로 내보내는 파이썬 코드를 GPT를 사용해 작성했다.

(파일명 및 경로는 현 프로젝트 구조에 맞게 작성)

import csv

output_rows = []

with open("data/법정동코드 전체자료.txt", "r", encoding="utf-8") as f:
    for line in f:
        parts = line.strip().split('\t')

        # 기본 구조 확인
        if len(parts) == 3:
            code, address, status = parts

            # 조건: 코드가 '11'로 시작, 주소 3단어, 상태 '존재'
            if code.startswith("11") and status == "존재":
                address_parts = address.strip().split()
                if len(address_parts) == 3:
                    city, district, neighborhood = address_parts
                    output_rows.append([code, city, district, neighborhood])

# CSV 저장
with open("data/법정동_서울시_동단위.csv", "w", newline='', encoding="utf-8-sig") as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(["code", "city", "district", "neighborhood"])
    writer.writerows(output_rows)

print("✅ 저장 완료: 법정동_서울시_존재_동단위.csv")

 

파일이 잘 내보내졌다.