导入excel对应的地址,抓取相应地区的经纬度
import requests
import pandas as pd
import numpy as np
import copy
import json
area = pd.read_excel(r'C:\Users\mei\Desktop\AREA\AREA.xlsx')
# 插入列存储经纬度 列数有City变成City,经纬度
col_name = area.columns.tolist()
index1, index2 = col_name.index('City') + 1, col_name.index('City') + 2
col_name.insert(index1, '经度')
area = area.reindex(columns = col_name)
col_name.insert(index2, '纬度')
# area.iloc[0,1] = 2.34
area = area.reindex(columns = col_name)
l = len(area)
#调用百度API,得到地点的经纬度信息
def geocodeB(address):
# base = "http://api.map.baidu.com/v3/geocoder?address=" + address + "&output=json&key=fxOIxu7HfbWmjYGXgm6KuBby7NC2eGZG"
base = "http://api.map.baidu.com/geocoding/v3/?address=" + address + "&output=json&ak=fxOIxu7HfbWmjYGXgm6KuBby7NC2eGZG"
response = requests.get(base)
answer = response.json()
return answer['result']['location']['lng'],answer['result']['location']['lat']
# geocodeB('广州市')
area_A = copy.copy(area)
lng = []
lat = []
for i in range(l):
list1 = list(geocodeB(area.iloc[i,0]))
lng.append(list1[0])
lat.append(list1[1])
# print(area_A.iloc[i, 1])
#area_A.iloc[i, 1] = a
#area_A.iloc[i, 2] = b
area_A['经度'] = lng
area_A['纬度'] = lat
# print(area_A)
area_A.to_excel(r'C:\Users\mei\Desktop\AREA\AREA_result.xlsx', index=False) #输出经纬度信息
(本文在转载连接的基础上进行了一点优化)