[파이썬] 위성좌표를 카카오 API를 이용하여 주소 추출하기

최대 1 분 소요


# 파이썬에서 mysql 계열 디비를 접속하기 위한 모듈

import pymysql

# 디비 처리 모듈
from sqlalchemy import create_engine

# 디비에 넣기 위해 데이터를 조작, 추가, 분석을 위한 모듈 (pandas)
import pandas.io.sql as pSql
import pandas as pd

seoul_bus_gps = pd.read_excel('/home/it-5c/mysql/2019_seoul_bus_gps.xlsx')

url_id_ori = 'https://dapi.kakao.com/v2/local/geo/coord2address.json?x={}&y={}&input_coord=WGS84'
url_id = url_id_ori.format(126.987786, 37.569764)

import os
import sys
import urllib.request
import json
 
# 카카오 api통신 하여
request = urllib.request.Request(url_id)
request.add_header("Authorization", "KakaoAK %s" % '91c21906cc286f480aaf010750705cb2')
response = urllib.request.urlopen(request)
rescode = response.getcode()
print(rescode)

if(rescode ==200):
	tmp=json.load(response)
	print(tmp['documents'][0]['address']['address_name'])
else:
	print("error code:" + response)

# 데이터 하나 추가 하여
seoul_bus_gps.index[0], url_id_ori
addrs = list()
for n in seoul_bus_gps.index:
	# url_id_ori = 'https://dapi.kakao.com/v2/local/geo/coord2address.json?x={}&y={}&input_coord=WGS84'
	x = seoul_bus_gps.iloc[n, -2]
	y = seoul_bus_gps.iloc[n, -1]
	url_id = url_id_ori.format(x, y)
	# print(x, y, url_id)
	request = urllib.request.Request(url_id)
	#request.add_header("Authorization", 'KakaoAK %s' % '개인인증키 REST API 키')
**request.add_header("Authorization", 'KakaoAK %s' % '91c21906cc286f480aaf010750705cb2')**

	response = urllib.request.urlopen(request)
	rescode = response.getcode()
	if(rescode==200):
		tmp = json.load( response )
		try:
			addrs.append( tmp['documents'][0]['address']['address_name'] )
except Exception as e:
			addrs.append( '' )
	else:
		print("Error Code:" + rescode)
	#break
seoul_bus_gps['addr'] = addrs
seoul_bus_gps.head(2)
seoul_bus_gps.tail(2)

# db에 담기
# 연결
db_url = 'mysql+pymysql://maria:12345@127.0.0.1/test'
# 엔진생성(절차)
engine = create_engine( db_url, encoding='utf8' )
# 실연결
conn = engine.connect()
# 삽입
seoul_bus_gps.to_sql( name='seoul_bus_addr', con=conn, if_exists='replace', index=True )
# 해제
conn.close()

태그: ,

카테고리:

업데이트: