首页 > 编程语言 >python +高德 +批量获取经纬度

python +高德 +批量获取经纬度

时间:2023-02-14 09:45:34浏览次数:40  
标签:经纬度 python value cell json ws address output 高德

import json
from urllib.request import urlopen
from urllib.parse import quote
import openpyxl

# 定义函数

def Getlngat(address):

    url = 'https://restapi.amap.com/v3/geocode/geo' 
    output = 'json'  # 指定返回数据格式
    ak = 'xxxxxxx'
    add = quote(address)
    url = url + '?' + 'address=' + add + '&output=' + output + '&key=' +ak  # 拼接url
    # https: // restapi.amap.com / v3 / geocode / geo?address = 北京市朝阳区阜通东大街6号 & output = XML & key = < 用户的key >
  # address 是需要获取坐标的结构化地址,output(XML/json)用于指定返回数据的格式,Key是用户请求数据的身份标识
req = urlopen(url) res = req.read().decode() # 将其他编码的字符串解码成unicode temp = json.loads(res) # 对json数据进行分析 return temp # 解析 def Analy(file_path): wb =openpyxl.load_workbook(file_path) ws = wb.active ws.cell(1,2).value='纬度' ws.cell(1,3).value='经度' for i in range(2,ws.max_row+1): try: # 异常捕获发生异常的坐标,不影响后续地点坐标获取 address = ws.cell(i,1).value lng = Getlngat(address)['geocodes'][0]['location'].split(',')[0] # 获取经度 lat = Getlngat(address)['geocodes'][0]['location'].split(',')[1] # 获取纬度 ws.cell(i,2).value = eval(lng) # 写入经度 ws.cell(i,3).value = eval(lat) # 写入纬度 print(address,type(eval(lng)),lat) except: ws.cell(i,4).value = "该地点目前未能获取,请重新尝试" wb.save(file_path) # 主函数 Analy(file_path=r'D:\PyCharm\坐标抓取\地点坐标.xlsx')

详细查看高德开放平台

 





 

标签:经纬度,python,value,cell,json,ws,address,output,高德
From: https://www.cnblogs.com/xujunhui/p/17118608.html

相关文章

  • python 项目如何使用三元表达式?
    对于精通Python语言的程序员来说,Python有一种语法刚入行的人看到会一脸懵,坦白的来说他其实非常的简单,仅仅只是一个语法,别拿它太当回事,知道会用就OK了。对于我个人来说......
  • python配置虚拟环境
    首先安装pipinstallvirtualenvpipinstallvirtualenvwrapper创建虚拟环境:mkvirtualenv虚拟环境名称列出所有虚拟环境:lsvirtualenv切换虚拟环境:workon 虚拟环境......
  • 一文看懂 Python 中的函数参数
    函数定义中的参数也就是形式参数,规定了在调用函数时如何传递实际参数以及这些参数有无默认值。实参传递方式deff(a):print(a)实参传递方式有两种,位置和关键字。......
  • Python 高级编程之网络编程 SocketServer(七)
    目录一、概述二、socket模块与socketserver关系三、socketserver模块使用1)创建TCPServer2)创建UDPServer四、异步服务器类(对线程、多进程)1)ThreadingMixIn(多线程)2)Forki......
  • python中list中的元素去重
     直观方法最简单的思路就是: 代码如下:ids=[1,2,3,3,4,2,3,4,5,6,1]news_ids=[]foridinids:   ifidnotinnews_ids:       news_ids.a......
  • SparkSQL指南-快速开始(Python版)——(一)
    快速开始创建环境Spark程序主要分为三个阶段:创建环境数据操作关闭环境(在Streaming程序中为执行环境)下面是批处理的SparkSQLAPI的创建环境的类:SparkSession,其目的......
  • python中defaultdict 的用法
    defaultdict:当我使用普通的字典时,用法一般是dict={},添加元素的只需要dict[element]=value即,调用的时候也是如此,dict[element]=xxx,但前提是element字典里,如果不在字......
  • 电商网站Web自动化测试实战( 编写京东搜索脚本python+selenium框架)
    电商网站Web自动化测试实战(编写京东搜索脚本)1,打开京东页京东首页地址:https://www.jd.com/,故进入京东首页如下:2,打开浏览器开发者模式定位元素前需先打开浏览器开发者......
  • python pandas库总结-数据分析和操作工具
    参考:https://pandas.pydata.org/Input/output相关函数pandas.read_excel—将Excel文件读入pandas数据框支持读取xls,xlsx,xlsm,xlsb,odf,ods和odt文件扩展名,支持单......
  • python爬虫学习——列表
    namelist=[]#定义一个空的列表namelist1=["小张","小红","小李"]print(namelist1[0])print(namelist1[1])print(namelist1[2])testlist=[1,"测试"]#列表中......