导入地址excel,抓取相应地区的经纬度

导入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) #输出经纬度信息

(本文在转载连接的基础上进行了一点优化)

转载链接:https://www.cnblogs.com/chuang0104/p/11463575.html

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值