갱스타
갱스타의 블로그
갱스타
전체 방문자
오늘
어제
  • 분류 전체보기 (93)
    • TIL(Today I Learned) (10)
    • 노력만이 살길! (58)
      • 알고리즘 (29)
      • 네트워크 (3)
      • Python (1)
      • Spring Boot (1)
      • 합격하기 (0)
      • Adsp (3)
      • SQLD (10)
      • 데이터분석 (5)
      • 취업일기 (4)
      • IT 프로젝트 관리 (1)
      • 운영체제 (1)
    • Life (10)
      • 일상 그리고 리뷰 (10)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준 달팽이
  • 네트워크
  • swea
  • mac 단축키
  • 백준 2477번
  • post
  • SWEA 13038
  • SW Expert Academy
  • 백준
  • 통신
  • 싸피7기
  • 싸피합격
  • Get
  • 백준 알고리즘
  • java 알고리즘
  • 싸피
  • 달팽이문제
  • 알고리즘
  • 달팽이 반복문
  • 백준 참외밭

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갱스타

갱스타의 블로그

노력만이 살길!/Python

python을 활용한 regeocoding하고 CSV 파일로 저장하기

2021. 8. 6. 10:23

카카오맵과 python을 이용하여 위도, 경도로 한글주소 추출하기

 

배운점.. api key를 함부로 공유하지 말 것.

import json
import sys
import pandas as pd
import requests
from datetime import *
from tqdm import notebook
import time

# 전역 변수
APP_KEY = 'key'    # 발급받은 키 입력
URL = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json'

def json_request(url='', encoding='utf-8', success=None, error=lambda e: print('%s : %s' % (e, datetime.now()), file=sys.stderr)):
    headers = {'Authorization': 'KakaoAK {}'.format(APP_KEY)}

    resp = requests.get(url, headers=headers)
    # print('%s : success for request [%s]' % (datetime.now(), url))

    return resp.text
    
    def reverse_geocode(longitude, latitude):
    # 파라미터 최적화하여 url 생성
    url = '%s?x=%s&y=%s' %(URL, longitude, latitude)

    # json request
    try:
        json_req = json_request(url=url)
        json_data = json.loads(json_req)
        json_doc = json_data.get('documents')[1]
        json_name = json_doc.get('region_3depth_name')
        print(json_name)
    except:
        json_name = 'NaN'

    return json_name
    
    
    def get_address(url_csv):
    address = []

    # 경도, 위도 추출해서 동 주소 반환
    for i in notebook.tqdm(url_csv.index) :
        longitude = url_csv['x'][i]
        latitude = url_csv['y'][i]
        address.append(reverse_geocode(longitude, latitude))

    return address  # 전처리 함수에서 주소 리스트 받아서 데이터프레임에 추가
    
    
    def main():
    # 파일 읽기
    url_csv = pd.read_csv('copy.csv')
#     url_csv_5 = url_csv.head()
    dong1 = get_address(url_csv)
    
    dong=pd.DataFrame(dong1)   
    dong.columns=['dong']
    print(dong)
    url_csv['dong']=dong1
    print(url_csv)
    
    url_csv.to_csv(r"hello.csv",encoding="utf-8")

    
if __name__ == '__main__':
    main()
    갱스타
    갱스타
    열심히 배워보자

    티스토리툴바