分享一个根据csv表格有地名和权重值的时候如何通过python生成百度热力图所要求的数据格式

Posted hpugisers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享一个根据csv表格有地名和权重值的时候如何通过python生成百度热力图所要求的数据格式相关的知识,希望对你有一定的参考价值。

import pandas as pd
import json
import csv
from urllib.request import urlopen, quote
import requests

#获取城市的地理编码
def getlnglat(address): 
    url = 'http://api.map.baidu.com/geocoder/v2/'
    output = 'json' 
    ak = '你申请的' 
    add = quote(address) #由于本文城市变量为中文,为防止乱码,先用quote进行编码 
    uri = url + '?' + 'address=' + add + '&output=' + output + '&ak=' + ak 
    req = urlopen(uri)
    res = req.read().decode() #将其他编码的字符串解码成unicode temp = json.loads(res) #对json数据进行解析 return temp
    #print(req)
    temp = json.loads(res) #对json数据进行解析
    print(temp)
    return temp


file = open(r'C:\\Users\\Administrator\\Desktop\\高校\\point.json','w') #建立json数据文件
with open(r'C:\\Users\\Administrator\\Desktop\\高校\\university.csv', 'r',encoding='UTF-8') as csvfile: #打开csv 
    reader = csv.reader(csvfile) 
    for line in reader: #读取csv里的数据 # 忽略第一行 
        if reader.line_num == 1: #由于第一行为变量名称,故忽略掉 
            continue # line是个list,取得所有需要的值 
        b = line[1].strip() #将第一列city读取出来并清除不需要字符 
        c= line[4].strip()#将第二列price读取出来并清除不需要字符 
        lng = getlnglat(b)['result']['location']['lng'] #采用构造的函数来获取经度 
        lat = getlnglat(b)['result']['location']['lat'] #获取纬度 
        str_temp = '"count":' + str(b) +',"lat":' + str(lat) + ',"lng":' + str(lng) + ',"count":' + str(c) +',' 
        print(str_temp) #也可以通过打印出来,把数据copy到百度热力地图api的相应位置上 
        file.write(str_temp) #写入文档 
file.close() #保存

以上是关于分享一个根据csv表格有地名和权重值的时候如何通过python生成百度热力图所要求的数据格式的主要内容,如果未能解决你的问题,请参考以下文章

说说如何利用 Python 处理 CSV 文件

SQL - 通过可以采用不同值的文本框进行查询

Pandas:如何根据其他列值的条件对列进行求和?

如何用python读取csv表格中的时间列,并进行时间最大值和最小值的相减?求代码。。。

csv表格处理(下)--纯JS解析导入csv

如何批量读取csv格式的文件名及文件内容到新的Excel中?