본문 바로가기

콩's AI

🏗️ Cursor AI로 10분만에 만드는 GUI 프로그램 : 건축물대장 2편

반응형

📊 건축물대장 API를 활용해 실제 데이터를 받아오는 방법을 비개발자도 이해하기 쉽게 설명합니다. Cursor AI파이썬을 활용해 누구나 빠르게 건축물 정보를 받아보세요!


🎯 이 글에서 배울 내용

공공데이터포털 API 활용법
Cursor AI로 파이썬 코딩 자동화
건축물대장 데이터 실시간 조회
비개발자도 10분 완성 가능한 실습 코드


📋 1. 준비사항 체크리스트

🔧 필수 설치 프로그램

  • Python 설치: 최신 버전 권장 (3.8 이상)
  • Cursor AI 설치: AI 코딩 에이전트 (무료 다운로드)

📦 필수 라이브러리 설치

pip install PublicDataReader --upgrade
pip install pandas requests

🔑 API 서비스키 준비

  • 공공데이터포털 API 서비스키: 1편에서 신청한 인증키 사용
  • ⚠️ 중요: 서비스키 없이는 데이터 조회 불가능

🏗️ Cursor AI로 10분만에 만드는 GUI 프로그램 : 건축물대장 1편 다시보기!


🤖 2. Cursor AI로 파이썬 코딩이 이렇게 쉬워집니다

✨ Cursor AI의 핵심 장점

🗣️ 자연어 코딩

  • "이 함수에 API 호출 코드 추가해줘" → 자동 코드 생성
  • "에러 처리 코드도 넣어줘" → 예외 처리까지 완성

🔄 코드 자동 완성

  • 함수명만 입력해도 전체 코드 자동 생성
  • 주석, 테스트 코드까지 AI가 자동 작성

📚 실시간 코드 설명

  • 복잡한 코드도 한국어로 쉽게 설명
  • 리팩토링, 최적화 제안까지

🎯 실전 사용 예시

1단계: 함수 틀만 작성

def get_building_info():
    pass

 

2단계: Cursor AI 챗에 요청

"건축물대장 API로 데이터 받아오는 코드 작성해줘"

 

3단계: 자동완성된 코드 확인 및 적용

 

4단계: 추가 요청 가능

"주석 추가해줘"
"테스트 코드 만들어줘"
"에러 처리 넣어줘"

💻 3. 건축물대장 데이터 받아오는 완성 코드

🎯 핵심 코드 (복사해서 바로 사용 가능)

반응형
# 🔑 서비스키 입력 (본인의 키로 변경)
service_key = "여기에_발급받은_서비스키_입력"

# 📡 API 인스턴스 생성
from PublicDataReader import BuildingLedger
api = BuildingLedger(service_key)

# 🏘️ 시군구/법정동 코드 찾기
import PublicDataReader as pdr

sigungu_name = "분당구"    # 원하는 시군구명 입력
bdong_name = "백현동"      # 원하는 법정동명 입력

code = pdr.code_bdong()
result = code.loc[
    (code['시군구명'].str.contains(sigungu_name)) & 
    (code['읍면동명'] == bdong_name)
]

sigungu_code = str(result.iloc[0]['시군구코드'])
bdong_code = str(result.iloc[0]['법정동코드'])[-5:]

# 📊 건축물대장 데이터 조회
df = api.get_data(
    ledger_type="총괄표제부",    # 대장 유형
    sigungu_code=sigungu_code,   # 시군구 코드
    bdong_code=bdong_code,       # 법정동 코드
    bun="540",                   # 번지
    ji=""                        # 부번 (없으면 빈 문자열)
)

# 📈 결과 출력
print("🎉 데이터 조회 완료!")
print(f"📋 총 {len(df)}개의 건축물 정보를 찾았습니다.")
print(df.head())

📊 주요 파라미터 설명

파라미터명 설명 예시 필수여부

ledger_type 대장 유형 총괄표제부, 기본개요, 표제부 ✅ 필수
sigungu_code 시군구 코드 41135 ✅ 필수
bdong_code 법정동 코드 (5자리) 11000 ✅ 필수
bun 번지 540 ⚠️ 선택
ji 지번 1 ⚠️ 선택

🔧 4. 데이터 조회 성공을 위한 핵심 포인트

성공 체크리스트

🔑 API 키 확인

# API 키 유효성 테스트
if len(service_key) < 50:
    print("❌ API 키가 너무 짧습니다. 키를 다시 확인해주세요.")
else:
    print("✅ API 키 형식이 올바릅니다.")

 

📍 지역 코드 확인

# 지역 코드 검색 도우미
def find_location_code(sigungu_name, bdong_name):
    code = pdr.code_bdong()
    result = code.loc[
        (code['시군구명'].str.contains(sigungu_name)) & 
        (code['읍면동명'] == bdong_name)
    ]
    
    if result.empty:
        print(f"❌ '{sigungu_name} {bdong_name}' 지역을 찾을 수 없습니다.")
        return None, None
    
    print(f"✅ 지역 코드 확인: {sigungu_name} {bdong_name}")
    return str(result.iloc[0]['시군구코드']), str(result.iloc[0]['법정동코드'])[-5:]

💾 데이터 저장 방법

# 📁 CSV 파일로 저장
df.to_csv("건축물대장_데이터.csv", encoding='utf-8-sig', index=False)
print("💾 데이터가 CSV 파일로 저장되었습니다!")

# 📊 Excel 파일로 저장
df.to_excel("건축물대장_데이터.xlsx", index=False)
print("💾 데이터가 Excel 파일로 저장되었습니다!")

🚀 5. 초보자도 따라하는 실습 가이드

🎯 단계별 실습 가이드

STEP 1: Cursor AI에서 새 파일 생성

File > New File > building_ledger.py

STEP 2: 코드 작성 및 실행

  • 코드 입력 후 Ctrl + Enter로 바로 실행
  • 오류 발생시 Cursor AI에게 "이 오류 해결해줘" 요청

STEP 3: 자연어로 코드 개선 요청

"이 코드에 로딩 바 추가해줘"
"에러 발생시 재시도 로직 넣어줘"
"결과를 더 예쁘게 출력해줘"

⚠️ 자주 발생하는 오류와 해결법

🔴 API 호출 실패

# 해결 방법: 단계별 디버깅
print("1. API 키 확인:", service_key[:10] + "..." if service_key else "❌ 키 없음")
print("2. 지역 코드 확인:", sigungu_code, bdong_code)
print("3. 파라미터 확인:", ledger_type, bun, ji)

🔴 데이터 없음 오류

# 해결 방법: 조건 완화
if df.empty:
    print("❌ 해당 조건으로 데이터를 찾을 수 없습니다.")
    print("💡 번지(bun) 파라미터를 제거하고 다시 시도해보세요.")
    
    # 번지 없이 재시도
    df = api.get_data(
        ledger_type="총괄표제부",
        sigungu_code=sigungu_code,
        bdong_code=bdong_code
    )

📈 6. 활용 예시 및 응용 방법

🎯 실무 활용 사례

📊 부동산 시장 분석

# 특정 지역 건축물 현황 분석
def analyze_building_status(sigungu_name, bdong_name):
    df = get_building_data(sigungu_name, bdong_name)
    
    print(f"📊 {sigungu_name} {bdong_name} 건축물 분석 결과")
    print(f"📋 총 건축물 수: {len(df)}개")
    print(f"🏠 주요 용도: {df['주용도명'].value_counts().head(3)}")
    print(f"📅 준공년도 분포: {df['준공일'].dt.year.value_counts().sort_index()}")

🏗️ 건축 프로젝트 관리

# 특정 주소의 건축물 상세 정보 조회
def get_detailed_building_info(address):
    # 주소 파싱 및 데이터 조회
    df = search_by_address(address)
    
    if not df.empty:
        print(f"🏠 건축물명: {df.iloc[0]['건축물명']}")
        print(f"📏 연면적: {df.iloc[0]['연면적']}㎡")
        print(f"🏢 층수: {df.iloc[0]['지상층수']}층")
        print(f"📅 준공일: {df.iloc[0]['준공일']}")

🎯 7. 마무리 및 다음편 미리보기

🎉 지금까지 배운 내용

Cursor AI를 활용한 파이썬 자동 코딩
공공데이터포털 API 실전 활용법
건축물대장 데이터 조회 및 저장
비개발자도 10분 완성 가능한 실습 코드

🔮 다음 3편 예고

🚀 3편: GUI 프로그램 완성하기

다음편에서는 tkinterCursor AI를 활용해 클릭 몇 번으로 건축물 정보를 조회할 수 있는 GUI 프로그램을 만들어보겠습니다!

🎯 3편에서 배울 내용:

  • 🖥️ GUI 인터페이스 자동 생성
  • 📊 데이터 시각화 차트 생성
  • 💾 원클릭 Excel 저장 기능
  • 🔄 실시간 데이터 업데이트

 

📝 이 글은 초보자와 비개발자도 쉽게 따라할 수 있도록 실습 중심으로 안내한 2편입니다. 데이터 활용, Cursor AI 자동화, 공공 API 실전 노하우까지 모두 경험해보세요! 🚀

반응형

⚠️ 광고 차단 프로그램 감지

애드블록, 유니콘 등 광고 차단 확장 프로그램을 해제하거나
화이트리스트에 추가해주세요.