本文是通过调用百度开放平台的API实现的经纬度查询。因此在使用前需要你去注册一个应用。
一、API 调用说明
-
打开链接
-
创建应用

-
获取AK

-
替换程序中的AK,运行就能得到返回的JSON字符串
源码
源码被我拆成了三个小节,分别是 数据准备、计算经纬度、计算两地距离,其他中间的处理代码则可能需要读者手动完善。
# 导入相关的包
import requests #HTTP请求
import time
import re
import json # 用于解析Json
import pandas as pd # 用于处理数据(数据分析相关的同学必须会的包)
1. 数据准备
CSV文件中有一列是city,使用pandas直接读取即可:
df = pd.DataFrame()
df = pd.read_csv(r'./city.csv',encoding="gbk")
df['city']
得到的数据如下所示,总共有一百条,是我国2020年百强县的名单:
0 昆山市
1 江阴市
2 张家港市
3 晋江市
4 常熟市
...
95 福安市
96 射阳县
97 邹平县
98 海城市
99 青州市
Name: city, Length: 100, dtype: object
| user_geohash | num | city | |
|---|---|---|---|
| 0 | 94ek6ke | 1028 | 昆山市 |
| 1 | 94ek6lj | 980 | 江阴市 |
| 2 | 94ek6lw | 919 | 张家港市 |
| 3 | 94ek6kn | 908 | 晋江市 |
| 4 | 94ek6l5 | 517 | 常熟市 |
| ... | ... | ... | ... |
| 95 | 9q0ltaw | 243 | 福安市 |
| 96 | 99s4avh | 242 | 射阳县 |
| 97 | 9519pwt | 240 | 邹平县 |
| 98 | 94jrlp3 | 240 | 海城市 |
| 99 | 946hodd | 240 | 青州市 |
100 rows × 3 columns
因为使用的是API,因此得到是上述的Json字符串。
二、根据地名计算经纬度的代码
/*
*/
def calc_ll(x

7148

被折叠的 条评论
为什么被折叠?



