CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·방탄소년당 ·일본산당 ·자전거당 ·개발한당 ·이륜차당 ·소시당 ·나스당 ·안드로메당 ·AI당 ·걸그룹당 ·영화본당 ·골프당 ·클다방 ·사과시계당 ·디아블로당 ·패스오브엑자일당 ·가상화폐당 ·노키앙 ·IoT당 ·축구당 ·젬워한당 ·노젓는당 ·창업한당 ·윈폰이당 ·리눅서당 ·육아당 ·소셜게임한당 ·여행을떠난당 ·바다건너당 ·물고기당 ·라즈베리파이당 ·캠핑간당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·키보드당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

기타 [파이썬 스크립트] 카카오 API 활용 - 구주소로 신주소 또는 신주소로 구주소 찾기 9

9
2022-01-03 16:29:22 수정일 : 2022-01-06 12:46:46 175.♡.223.183
sagein

몇줄 안되는 코딩으로 업무의 효율을

높일수 있는 방법이 파이썬 스크립트 입니다.

각 업무환경이 다르니 가장 베이직 한 로직만 구현할께요.


연말 연초에 우편이나 택배를 발송 할 경우가 많고 

하니 주소를 검증해야 할 경우가 생기더라구요. 

그래서 이번 포스팅은 주소 API 사용법을 다뤄 볼까 합니다.


주소를 제공하는 API는 다양한 곳에서 하고 있습니다.

juso.go.kr 에서도 하고. 카카오, 우체국...등등등 


그중에서도 카카오의 서비스를 이용해볼까 합니다.


1. 카카오 API 키 발급받기.

카카오의 주소 api를 쓰기위해서는 api 키를 발급 받아야 하는데요

https://developers.kakao.com/

접속합니다. 


카카오 계정으로 로그인을 한 후에.

?? ?? 2022-01-03 151902.jpg


내 애플리케이션 -> 애플리케이션 추가하기를 합니다.


img.png

요런 화면이 나오면 적당한이름을 넣고

개인 프로젝트이니 그냥 "개인" 넣어줍니다.

저장을 하고. 방급 작성한 APP을 클릭하면


???? (1).png


앱키가 생성되어 있는 것을 확인 할 수 있습니다. 

REST API키를 복사합니다. 그러면 준비는 끝 났습니다. 


2. 스크립트 작성하기

코딩을 시작해봅시다.

cats.jpg




엑셀에 지번주소와 도로명 주소가 섞여 있어 

도로명 주소와 지번주소를 검증도 하면서 분류작업을 해야 하는 경우라 가정하고 

코드를 작성해보면


api와 통신을 하기 위해 requests 모듈

엑셀을 읽고 쓰기위해 openpyxl  모듈

통신을 쉬엄쉬엄 하라고 time 모듈


세가지 모듈만 사용하면 될 것 같습니다.


import requests
import openpyxl as xl
import time


# api 정보 셋팅
url = "https://dapi.kakao.com/v2/local/search/address.json"
REST_API_KEY = "발급받은 REST API키 "
headers = {"Authorization": "KakaoAK {}".format(REST_API_KEY)}


# 엑셀파일 읽기
wb = xl.load_workbook("address.xlsx", data_only=True)


# 자료가 있는 시트 열기
ws = wb.worksheets[0]


# 루프돌면서 검증할 주소 읽기
for row, item in enumerate(ws.rows):
    if row > 0: #  두번째 행부터 
        addr = str(item[1].value)
        params = {"query": "{}".format(addr)} # 주소정보를 파라미터에  담습니다.
        resp = requests.get(url, params=params, headers=headers) # 해더와 파라미터 정보를 넣어 get 타입으로 전송합니다.        documents = resp.json()["documents"] # json으로 받은 파일을 파싱하기.
       if len(documents) > 0: # json을 파싱후 documents 에 데이터가 있을 경우에만             address = documents[0]['address']['address_name'] # 지번주소             road_address = documents[0]['road_address']['address_name'] # 도로명 주소             ws.cell(row+1, 3, road_address ) # 3번째 열에 값 엑셀쓰기             ws.cell(row+1, 4, address) # 3번째 열에 값 엑셀쓰기         time.sleep(0.3) # 너무 빨리 쿼리해서 죽을수도 있으니 쉬는 시간을 줍시다. wb.save('address.xlsx') # 동일한 파일에 저장 wb.close() # 엑셀파일 다 썼으니 닫기.


전보단 길지만 그래도 짧은 코드가 완성되었습니다.

결과를 확인해보면 아래와 같이 잘 들어가 있죠.


?? ?? 2022-01-03 163932.jpg



간단한데  반복적이고 시간 오래걸리는 건 파이썬으로 할지를 고민해보세요. 한시간 일하고 7시간 놀수 있습니다.(저녀석 일잘하네.. 일을 더 줄 확율이 높겠지만...)

그래도 파이썬하세요.



   

        

            












출처 : https://www.sagein.net/702
sagein 님의 게시글 댓글
SIGNATURE
한때는 C# 개발자..
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [9]
삭제 되었습니다.
sagein
IP 175.♡.223.183
01-03 2022-01-03 16:41:21 / 수정일: 2022-01-03 16:41:27
·
@네코짱님 코드도 바꾸고 그림도 바꿨어요 ㅎㅎ
SoGentle
IP 211.♡.158.168
01-03 2022-01-03 18:57:34
·
매번 감사합니다. 공부하는데 유용합니다.
재웅이
IP 223.♡.175.27
01-03 2022-01-03 19:17:45
·
좋네요. 감사요
/Vollago
oxyzen
IP 211.♡.184.49
01-03 2022-01-03 20:05:36
·
감사합니다. 혹시 카카오api 로 전구 노래방 점포명과 주소, 좌표를 한번에 긁어올 수 있나요?
sagein
IP 175.♡.223.183
01-03 2022-01-03 20:11:27
·
@oxyzen님그건 잘 모르겠네요.. 제가 적어놓은 코드는 기본적으로 주소정보가 있어야 해요.
sagein
IP 175.♡.223.183
01-03 2022-01-03 20:22:13
·
@oxyzen님 https://developers.kakao.com/docs/latest/ko/local/dev-guide#search-by-keyword 페이지 보시고 응용 하시면 될 것 같습니다.
oxyzen
IP 211.♡.184.49
01-03 2022-01-03 20:45:42
·
감사합니다. 공부해보겟습니다.
삭제 되었습니다.
happywolf
IP 182.♡.126.39
01-05 2022-01-05 23:54:39
·
파이썬 훌륭합니다 ^^
mujuk10dan
IP 121.♡.140.186
01-06 2022-01-06 11:59:07
·
멋지네요
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.