前言:
目前兄弟们对“python定位地理位置”可能比较讲究,咱们都想要学习一些“python定位地理位置”的相关文章。那么小编也在网摘上收集了一些对于“python定位地理位置””的相关知识,希望你们能喜欢,姐妹们快快来学习一下吧!输入:中文地址信息,例如安徽为县天城镇都督村冲里18号
输出:经纬度坐标,例如107.34799754989581 30.50483335424108
功能:根据中文地址信息获取经纬度坐标
实现代码:
1
import json
2
from urllib.request import urlopen,quote
3
import xlrd
4
5
def readXLS(XLS_FILE,sheet0):
6
rb= xlrd.open_workbook(XLS_FILE)
7
rs= rb.sheets()[sheet0]
8
return rs
9
10
def getlnglat(adress):
11
url = ';
12
output = 'json'
13
ak = 'fdi11GHN3GYVQdzVnUPuLSScYBVxYDFK'
14
add = quote(adress)#使用quote进行编码 为了防止中文乱码
15
# add=adress
16
url2 = url + add + '&output=' + output + '&ak=' + ak
17
req = urlopen(url2)
18
res = req.read().decode()
19
temp = json.loads(res)
20
return temp
21
22
def getlatlon(sd_rs):
23
nrows_sd_rs=sd_rs.nrows
24
for i in range(4,nrows_sd_rs):
26
row=sd_rs.row_values(i)
27
print(i,i/nrows_sd_rs)
28
b = (row[11]+row[12]+row[9]).replace('#','号') # 第三列的地址
29
print(b)
30
try:
31
lng = getlnglat(b)['result']['location']['lng'] # 获取经度并写入
32
lat = getlnglat(b)['result']['location']['lat'] #获取纬度并写入
33
except KeyError as e:
34
lng=''
35
lat=''
36
f_err=open('f_err.txt','a')
37
f_err.write(str(i)+'\t')
38
f_err.close()
39
print(e)
40
print(lng,lat)
41
f_latlon = open('f_latlon.txt', 'a')
42
f_latlon.write(row[0]+'\t'+b+'\t'+str(lng)+'\t'+str(lat)+'\n')
43
f_latlon.close()
47
48
if __name__=='__main__':
50
sle_xls_file = "F:\医学大数据课题\数据副本\江苏省SLE数据库(两次随访合并) - 副本.xlsx"
51
sle_data_rs = readXLS(sle_xls_file, 1)
52
getlatlon(sle_data_rs)
实现效果:
喜欢记得点赞,在看,加关注(数据杂坛),将持续更新!
标签: #python定位地理位置