文章目录

  • 格式一
  • 格式二

参考博客:https://blog.csdn.net/qq_35625681/article/details/118873871

格式一

输出字段:‘国家’, ‘省份’, ‘市’, ‘区县’, ‘街道’, ‘区域编码’, ‘区域中心点’, ‘行政区划分级别’, ‘城市编码’

import requests
import pandas as pd
import time
import os# 高德接口介绍 https://lbs.amap.com/api/webservice/guide/api/districtkey = 'XX'  # 参考接口介绍获取key,以及以下参数意义
while True:  # 创建循环,如果查询结果成功,跳出循环keywords = input('请输入需查询的关键词,例如,中国,山东,济南,历下区:\n')subdistrict = input('设置显示下级行政区级数,可输入数字:0、1、2、3:\n')extensions = 'base'url = f'http://restapi.amap.com/v3/config/district?key={key}&keywords={keywords}&subdistrict={subdistrict}&extensions={extensions}'r = requests.get(url)data = r.json()建议结果列表 = data['count']if 建议结果列表 == '0':print('参数输入错误,请重新输入!返回值:', 建议结果列表)else:break行政区数据列表 = []  # 创建空列表,用户存储查询的数据s1 = data['districts'][0]['adcode']    # 区域编码
s2 = data['districts'][0]['name']      # 行政区名称
s3 = data['districts'][0]['center']    # 区域中心点
s4 = data['districts'][0]['level']     # 行政区划级别
s5 = data['districts'][0]['citycode']  # 城市编码
if s4 == 'country':行政区数据列表.append([s2, '', '', '', '', s1, s3, s4, s5])  # 国家
if s4 == 'province':行政区数据列表.append(['', s2, '', '', '', s1, s3, s4, s5])  # 省份
if s4 == 'city':行政区数据列表.append(['', '', s2, '', '', s1, s3, s4, s5])  # 市
if s4 == 'district':行政区数据列表.append(['', '', '', s2, '', s1, s3, s4, s5])  # 区县
if s4 == 'street':行政区数据列表.append(['', '', '', '', s2, s1, s3, s4, s5])  # 街道一级行政区数据 = data['districts'][0]['districts']
一级行政区个数 = len(一级行政区数据)for i in range(0, 一级行政区个数):s1 = 一级行政区数据[i]['adcode']s2 = 一级行政区数据[i]['name']s3 = 一级行政区数据[i]['center']s4 = 一级行政区数据[i]['level']s5 = 一级行政区数据[i]['citycode']if s4 == 'country':行政区数据列表.append([s2, '', '', '', '', s1, s3, s4, s5])  # 国家if s4 == 'province':行政区数据列表.append(['', s2, '', '', '', s1, s3, s4, s5])  # 省份if s4 == 'city':行政区数据列表.append(['', '', s2, '', '', s1, s3, s4, s5])  # 市if s4 == 'district':行政区数据列表.append(['', '', '', s2, '', s1, s3, s4, s5])  # 区县if s4 == 'street':行政区数据列表.append(['', '', '', '', s2, s1, s3, s4, s5])  # 街道二级行政区数据 = 一级行政区数据[i]['districts']二级行政区个数 = len(二级行政区数据)for x in range(0, 二级行政区个数):s1 = 二级行政区数据[x]['adcode']s2 = 二级行政区数据[x]['name']s3 = 二级行政区数据[x]['center']s4 = 二级行政区数据[x]['level']s5 = 二级行政区数据[x]['citycode']if s4 == 'country':行政区数据列表.append([s2, '', '', '', '', s1, s3, s4, s5])  # 国家if s4 == 'province':行政区数据列表.append(['', s2, '', '', '', s1, s3, s4, s5])  # 省份if s4 == 'city':行政区数据列表.append(['', '', s2, '', '', s1, s3, s4, s5])  # 市if s4 == 'district':行政区数据列表.append(['', '', '', s2, '', s1, s3, s4, s5])  # 区县if s4 == 'street':行政区数据列表.append(['', '', '', '', s2, s1, s3, s4, s5])  # 街道三级行政区数据 = 二级行政区数据[x]['districts']三级行政区个数 = len(三级行政区数据)for y in range(0, 三级行政区个数):s1 = 三级行政区数据[y]['adcode']s2 = 三级行政区数据[y]['name']s3 = 三级行政区数据[y]['center']s4 = 三级行政区数据[y]['level']s5 = 三级行政区数据[y]['citycode']if s4 == 'country':行政区数据列表.append([s2, '', '', '', '', s1, s3, s4, s5])  # 国家if s4 == 'province':行政区数据列表.append(['', s2, '', '', '', s1, s3, s4, s5])  # 省份if s4 == 'city':行政区数据列表.append(['', '', s2, '', '', s1, s3, s4, s5])  # 市if s4 == 'district':行政区数据列表.append(['', '', '', s2, '', s1, s3, s4, s5])  # 区县if s4 == 'street':行政区数据列表.append(['', '', '', '', s2, s1, s3, s4, s5])  # 街道df = pd.DataFrame(行政区数据列表, columns=['国家', '省份', '市', '区县', '街道', '区域编码', '区域中心点', '行政区划分级别', '城市编码'])
print(df)
路径 = '行政区域查询-' + str(time.strftime("%Y%m%d%H%M%S", time.localtime())) + '.xlsx'print('请输入自定义文件保存位置,不输入则保存在默认位置,示例:C:\\Users\\lenovo\\Desktop\\')
address = ''
address_input = input('请输入:')
if len(address_input)==0:address = 路径
else:address = address_input + 路径
df.to_excel(address)#显示最终保存路径
last_address = ''
if len(address_input) ==0:last_address = os.path.abspath('.')+ '\\'+ address
else :last_address = address
print('查询完成,结果输出:' + last_address)

格式二

输出字段:‘区域’, ‘区域编码’, ‘区域中心点’, ‘行政区划分级别’, ‘城市编码’

import requests
import pandas as pd
import time
import os# 高德接口介绍 https://lbs.amap.com/api/webservice/guide/api/districtkey = 'XX'  # 参考接口介绍获取key,以及以下参数意义
while True:  # 创建循环,如果查询结果成功,跳出循环keywords = input('请输入需查询的关键词,例如,中国,浙江,杭州,余杭:\n')subdistrict = input('设置显示下级行政区级数,可输入数字:0、1、2、3:\n')extensions = 'base'url = f'http://restapi.amap.com/v3/config/district?key={key}&keywords={keywords}&subdistrict={subdistrict}&extensions={extensions}'r = requests.get(url)data = r.json()建议结果列表 = data['count']if 建议结果列表 == '0':print('参数输入错误,请重新输入!返回值:', 建议结果列表)else:break行政区数据列表 = []  # 创建空列表,用户存储查询的数据s1 = data['districts'][0]['adcode']    # 区域编码
s2 = data['districts'][0]['name']      # 行政区名称
s3 = data['districts'][0]['center']    # 区域中心点
s4 = data['districts'][0]['level']     # 行政区划级别
s5 = data['districts'][0]['citycode']  # 城市编码
行政区数据列表.append([s2, s1, s3, s4, s5])一级行政区数据 = data['districts'][0]['districts']
一级行政区个数 = len(一级行政区数据)for i in range(0, 一级行政区个数):s1 = 一级行政区数据[i]['adcode']s2 = 一级行政区数据[i]['name']s3 = 一级行政区数据[i]['center']s4 = 一级行政区数据[i]['level']s5 = 一级行政区数据[i]['citycode']行政区数据列表.append([s2, s1, s3, s4, s5])二级行政区数据 = 一级行政区数据[i]['districts']二级行政区个数 = len(二级行政区数据)for x in range(0, 二级行政区个数):s1 = 二级行政区数据[x]['adcode']s2 = 二级行政区数据[x]['name']s3 = 二级行政区数据[x]['center']s4 = 二级行政区数据[x]['level']s5 = 二级行政区数据[x]['citycode']行政区数据列表.append([s2, s1, s3, s4, s5])三级行政区数据 = 二级行政区数据[x]['districts']三级行政区个数 = len(三级行政区数据)for y in range(0, 三级行政区个数):s1 = 三级行政区数据[y]['adcode']s2 = 三级行政区数据[y]['name']s3 = 三级行政区数据[y]['center']s4 = 三级行政区数据[y]['level']s5 = 三级行政区数据[y]['citycode']行政区数据列表.append([s2, s1, s3, s4, s5])df = pd.DataFrame(行政区数据列表, columns=['区域', '区域编码', '区域中心点', '行政区划分级别', '城市编码'])
print(df)
路径 = '行政区域查询-' + str(time.strftime("%Y%m%d%H%M%S", time.localtime())) + '.xlsx'print('请输入自定义文件保存位置,不输入则保存在默认位置,示例:C:\\Users\\lenovo\\Desktop\\')
address = ''
address_input = input('请输入:')
if len(address_input)==0:address = 路径
else:address = address_input + 路径
df.to_excel(address)#显示最终保存路径
last_address = ''
if len(address_input) ==0:last_address = os.path.abspath('.')+ '\\'+ address
else :last_address = address
print('查询完成,结果输出:' + last_address)

python调用高德接口获取国内行政区经纬度数据相关推荐

  1. 如何利用python调用API接口获取数据进行测试

    一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...

  2. python调用第三方接口获取数据_python调用接口,python接收post请求接口(附完整代码)...

    与Scala语言相比,Python有其独特的优势和广泛的应用,python调用接口,因此Spark也推出了PySpark,它在框架上提供了一个使用Python语言的接口,python接收post请求接 ...

  3. python调用第三方接口获取数据_python 接口实现 供第三方调用的例子

    python 接口实现 供第三方调用的例子 实验环境 1.环境问题 python 2.7 以上自带的pyunit bottle 作为一个python的简易服务器 在python安装目录 打开命令窗口( ...

  4. python调用api接口获取数据_python批量爬取NCBI基因注释并调用谷歌API批量翻译

    作者:沙雕学习小组 这里有视频教程:https://www.bilibili.com/video/av87724182 今天想实现这个功能: 差异分析得到了200多个基因(甚至更多) 我要一个一个把基 ...

  5. python调用api接口获取天气数据_python 接口实战--天气API

    1.接口地址: 网页请求: 将结果拷贝到bjson中,格式化为json的格式. 在python中实现天气测试,代码实现. import requests    导入requests库 from url ...

  6. Python调用高德地图API实现经纬度换算、地图可视化

    作者 | 糖甜甜甜 出品 | 经管人学数据分析 Python调用高德地图API实现经纬度换算.地图可视化 前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地 ...

  7. 你还在为高德地图找不到门牌号等详细地址而烦恼吗?你还在等什么——Python调用高德地图API实现经纬度换算、地图可视化

    Python调用高德地图API实现经纬度换算.地图可视化 前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出 ...

  8. python调用高德地图api 可视化_Python调用高德地图API实现经纬度换算、地图可视化...

    前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密 ...

  9. python调用高德api路径规划_Python调用高德API实现批量地址转经纬度并写入表格的功能...

    本段代码是先将需要转换经纬度的地址爬取在 '地址.csv' 文件里,文件截图示例: 代码展示 # coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv ...

  10. pythondockerapi_docker-py 用Python调用Docker接口的方法

    众所周知,Docker向外界提供了一个API来管理其中的资源.这个API可以是socket文件形式的(一般也是默认的,在/var/run/docker.sock中),也可以是TCP形式的.以前想要通过 ...

最新文章

  1. linux WiFi源码解析,Wifi移植浅析
  2. 洛谷P1074:靶形数独(搜索、剪枝)
  3. OPPO Reno 5G版高调宣布上市时间:已具备上市条件
  4. hadoop生态系统学习之路(十)MR将结果输出到hbase
  5. Kinect for Windows Samples
  6. ES6新特性_Promise介绍与基本使用---JavaScript_ECMAScript_ES6-ES11新特性工作笔记024
  7. 恭喜宿主获得鸿蒙,第四十章大殿讲道,十连抽获得鸿蒙至宝!
  8. [转载]强大的grep用法详解:grep与正则表达式
  9. 回溯法解决八皇后问题
  10. 【电力负荷预测】基于matlab灰狼算法优化LSTM短期电力负荷预测【含Matlab源码 1518期】
  11. 《编码的奥秘》记录(二)
  12. 在python中无论类的名字是什么构造方法的名字都是_超星尔雅大学生职业素养期末答案...
  13. 微信小程序:简单实现地图导航功能实现
  14. Banner加载轮播图
  15. java毕业设计高校学习社区mybatis+源码+调试部署+系统+数据库+lw
  16. 新年新故事 | Nice 兔 Meet U
  17. 2019年研究生数学建模E题加拿大站点数据批量下载
  18. 夏天到了,蚊子多了,下面给大家几个防蚊子的建议
  19. total command关闭按钮如何修改为最小化
  20. 初学者如何系统性地学习Linux?

热门文章

  1. 云服务器ECS/EC2_转载
  2. 讯飞tts文转语错误分析即解决方法
  3. qq通讯助手java版,QQ同步助手1.0(Java)Build0028[安卓软件]
  4. 小程序毕设作品之微信电子书阅读小程序毕业设计(7)中期检查报告
  5. 小米升鸿蒙系统,小米11升级鸿蒙系统
  6. 计算机组装与维护选教材,计算机组装与维护校本教材.doc
  7. VBScript教程-第三章. 脚本的组成部分
  8. SOLIDWORKS教程:solidworks常用技巧大全
  9. md4c语言_C语言开发世嘉MD游戏【二】:Hello World
  10. 新人进群发邮件软件,QQ群潜伏发邮件软件,一进群就收到邮件软件