码迷,mamicode.com
首页 > 其他好文 > 详细

数据清洗(添加省市区)

时间:2020-03-13 01:14:43      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:geo   转换   位置   component   ase   city   密钥   ecs   mic   

利用python为地名匹配省市区,

设计思想:利用百度api实现定位经纬度,然后再通过经纬度匹配省市区

 

1.从文本中读取地点名称

#提取地区
def diqu():
    f = codecs.open(kjcg.txt, mode=r, encoding=utf-8)  # 打开txt文件,以‘utf-8’编码读取
    line = f.readline()   # 以行的形式进行读取文件
    while line:
        a = line.split()
        b = a[0:1]   # 这是选取需要读取的位数
        list.append(b)  # 将其添加在列表之中
        line = f.readline()
    f.close()

 

2.调用百度api实现  地点------经纬度

#提取经纬度
def geocodeB(address):
    """
    @ address: 名称字符串
    @ 返回值:经度,纬度
    """
    base_url = "http://api.map.baidu.com/geocoder?address={address}&output=json&key=您的密钥".format(address=address)

    response = requests.get(base_url)
    answer = response.json()
    latitude = answer[result][location][lng] #
    longitude = answer[result][location][lat] #

    list_lag.append(latitude)
    list_lng.append(longitude)

 

3.同样利用百度api   经纬度-------省市区

#提取省,市,区
#基于百度地图API下的经纬度信息来解析地理位置信息

def getlocation(lat,lng):

    url = requests.get(http://api.map.baidu.com/geocoder?location= + lat + , + lng + &output=json&key=您的密钥)
    result = url.json()
    #print(result)
    city = result[result][addressComponent][city]
    province = result[result][addressComponent][province]
    district = result[result][addressComponent][district]
    # print(city,province,district)
    list_all= [
        \n + result[result][addressComponent][city] + , +
        result[result][addressComponent][province] + , +
        result[result][addressComponent][district]]

    print(list_all)

 

4.数据存储(将list转换为字符串存储到文本文件中)

res_all = ,.join(list_all)
    with open(科技成果地区划分.txt, a+, encoding="utf-8") as f:
        f.write(res_all)

 

效果展示:(待转换数据------转换数据)(但是不知道为什么通过api双向转换出来的数据有些对不上)

比如 天津科技大学:天津市河西区大沽南路1038号 

但是通过百度api实现出来的就是北京

技术图片

 

 

技术图片

 

数据清洗(添加省市区)

标签:geo   转换   位置   component   ase   city   密钥   ecs   mic   

原文地址:https://www.cnblogs.com/birdmmxx/p/12483789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!