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")
파일이 잘 내보내졌다.