• 流调溯源 腾讯接口实现批量地址转换


    # -*- coding:utf-8 -*-
    # author:ck_233 time:2020/3/16
    import time
    import requests
    import pandas as pd
    from pandas import DataFrame
    
    developer_key = '6M2BZ-5SOWU-ZF6VH-22KK6-OCT65-62BJU' # 这里为你申请的开发者key
    
    # 通过地址获取经纬度
    def address_to_coordinate(address):
        base = "http://apis.map.qq.com/ws/geocoder/v1/?address={}&key={}".format(address, developer_key)  # 地址解析,地址转坐标
        response = requests.get(base)
        answer = response.json()
        if(answer['status'] == 0):
           data = {
                'lng':answer['result']['location']["lng"], # 经度
                'lat':answer['result']['location']["lat"]  # 纬度
            }
        else:
           data = {
                'lng':'error', 
                'lat':'error'  
            }
        print(data)
        return data
    
    # 通过经纬度获取地址
    def coordinate_to_address(lat_lng): # 注意入参格式:纬度,经度
        base = "https://apis.map.qq.com/ws/geocoder/v1/?location={}&get_poi={}&key={}".format(lat_lng, 1, developer_key) # 坐标转地址
        response = requests.get(base)
        answer = response.json()
        # print(answer)
        if(answer['status'] == 0):
           data = answer['result']['address']
        else:
           data = 'error'
        print(data)
        return data
    
    # 入参excel文件名,表名
    def readExcel(filename, sheetname):
        data = pd.read_excel(filename, sheetname)
        # print(data)
        # 通过地址获取经纬度,并修改
        for index in range(0,len(data)):
            # 开发者并发有限制,根据情况来设置
            time.sleep(0.2)
            print(data.loc[index, '地址'])
            address = data.loc[index, '地址']
            lng_lat = address_to_coordinate(address)
            data.loc[index, '经度'] = lng_lat['lng']
            data.loc[index, '纬度'] = lng_lat['lat']
        # print(data)
        # 保存修改
        DataFrame(data).to_excel(filename, sheet_name=sheetname, index=False, header=True)
    
    if __name__ == '__main__':
         address_to_coordinate("武汉市青山区和平大道809号")
         coordinate_to_address("30.617353,114.360809")
        #readExcel('xxxx.xlsx', 'Sheet1')
    
  • 相关阅读:
    【excel密码】为什么工作表不能移动、复制了?
    SpringCloud-3.服务熔断与降级(Hystrix)
    linux驱动开发.之spi测试工具spidev_test源码(一)
    基础 | 并发编程 - [Callable & FutureTask]
    Python编程实例-Matplotlib实时数据可视化
    全志Tina Linux 修改串口(UART0->UART1)
    猿创征文|超实用的前端开发工具分享
    Vue3:刷新页面报错404的解决方法
    一篇图文搞定Java内存模型
    PID控制器的远程设定点功能及其应用
  • 原文地址:https://blog.csdn.net/jidawanghao/article/details/128056379