根据已有地址,解析出具体的省市区

import requests
import json
import pandas as pd
from pyhive import hive
import os
#ak 高德,百度,腾讯都可以申请
ak = '你的ak'
##获取经纬度
def get_lat(address):if len(address) < 2:print('输入地址不合法')return 0,0else:url = 'http://api.map.baidu.com/geocoding/v3/?address={0}&output=json&ak={1}&callback=showLocation'.format(address,ak)res = requests.get(url)json_data = json.loads(res.text.replace('showLocation&&showLocation(','').replace(')',''))if json_data['status'] == 0:if 'result' in json_data.keys():lat1 = json_data['result']['location']['lat'] #纬度lng1 = json_data['result']['location']['lng'] #经度return lat1,lng1else:return 0,0else:return 0,0#获取省市区
def get_addr(lat2,lng2):if lat2+lng2 == 0 :print('输入经纬度不合法')return '','','',''else:url2 = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={0}&output=json&coordtype=bd09ll&location={1},{2}'.format(ak,lat2,lng2)res2 = requests.get(url2)json_data2 = json.loads(res2.text)if 'result' in json_data2.keys(): prov = json_data2['result']['addressComponent']['province']city = json_data2['result']['addressComponent']['city']dist = json_data2['result']['addressComponent']['district']dtl  = json_data2['result']['addressComponent']['town']+json_data2['result']['addressComponent']['street']+json_data2['result']['addressComponent']['street_number']return prov,city,dist,dtlelse:return  def mkdir(path):# 去除首位空格path=path.strip()# 去除尾部 \ 符号path=path.rstrip("/")# 判断路径是否存在isExists=os.path.exists(path)# 判断结果if not isExists:os.makedirs(path)print('成功创建目录:'+path)
conn = hive.Connection(host='', port=, username='')
sql = " "
df1 = pd.read_sql(sql,conn)
df1.head()
file_path = '路径'
mkdir(file_path)
#生成的目标文件
file = file_path+'clear2.txt'
file_w = open(file,'w')
for rn in range(len(df1)):if rn<0:continueelif rn >=0 and rn  < 150000:  add1 = df1.iloc[rn]['add1'] name=df1.iloc[rn]['e.name'] sex=df1.iloc[rn]['e.sex'] age=df1.iloc[rn]['e.age'] lat,lng = get_lat(add1)prov,city,dist,dtl = get_addr(lat,lng)print(str(rn)+hospt)result=name+'\t'+sex+'\t'+str(age)+'\t'+prov+'\t'+city+'\t'+dist+'\t'+'\n'file_w.write(result)print(result)
file_w.close()

python解析地址相关推荐

  1. 利用python解析地址经纬度和利用经纬度定位地址

    解析地址经纬度 from geopy.geocoders import Nominatim try:geolocator = Nominatim()location = geolocator.geoc ...

  2. 使用Python解析地址获取其所属省份

    原理:主要是通过调用百度地图的开放接口,先通过输入具体地址调用获取地理编码接口(http://api.map.baidu.com/geocoding/v3/?ak=你申请的ak&output= ...

  3. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  4. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★

    文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...

  6. python解析log文件_python解析基于xml格式的日志文件

    大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我 ...

  7. [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  8. Java 和 Python 解析动态 key 的 JSON 数据

    一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: {"b3444533f6544" ...

  9. python解析xml生成代码_python解析xml模块封装代码

    有如下的xml文件: 复制代码 代码如下: 1 2 下面介绍python解析xml文件的几种方法,使用python模块实现. 方式1,python模块实现自动遍历所有节点: 复制代码 代码如下: #! ...

  10. 利用python查询电脑配置_干货|利用Python将地址转换为经纬度坐标

    本文主要讲述利用Python将文本格式的地址转换为数字格式的经纬度坐标数据,主要步骤有: 注册高德地图API账号,申请Web服务的Key 了解并测试地理编码API服务 利用Python实现地址转坐标 ...

最新文章

  1. 从Atlas到Microsoft ASP.NET AJAX(4) - Browser Compatibility
  2. texturepacker使用心得
  3. Maven 项目创建 找不到web.xml
  4. postgres 错误duplicate key value violates unique constraint 解决方案
  5. linux中临时、永久修改ip
  6. 算法(24)-股票买卖
  7. 关于vue中使用iconfont
  8. python django 动态网页_Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00...
  9. Window命令行工具操作文件
  10. ubuntu下u盘变成只读文件
  11. 紫书 习题 8-2 UVa 1610 (暴力出奇迹)
  12. 【译】30 分钟入门 Typescript
  13. mysql如果空显示_mysql按照自己定义的值显示如果为空的就显示0
  14. 计算机怎么删除表格,怎么快速删除电脑word文档中不想要的表格
  15. 前端微信小程序面试题总结
  16. 软件测试面试中90%会遇到的问题;你会搭建测试环境吗?
  17. proccessing 中的 port busy
  18. vue3的抽离封装方法
  19. vue+element 在ie和360浏览器的兼容问题
  20. springboot+vue旅游景点酒店预订系统网站

热门文章

  1. 财务部门如何用OKR管理法?看最新OKR模板
  2. 算法设计与分析: 5-25 双轨车皮编序问题
  3. webpack 基础学习
  4. 信息安全快讯丨桃李满天下,金秋谢师恩——教师节快乐!
  5. css 设置背景图一半_CSS背景颜色 背景图片 居中 重复 固定样式background经验篇
  6. css设置背景颜色的亮度
  7. 【聚来宝】创业 兼职 教程 资料
  8. 两台(或多台)电脑怎么实现文件共享
  9. html5制作旋转正方体,html5—旋转立方体
  10. 表单必填标星_laravel-admin必填项加星号