python - 使用 google api 的多个地址的纬度/经度
问题描述
如何改进此代码以接受包含大量地址的文件并将其作为参数传递给 Google API 以获取纬度/经度?
现在这是一个返回一个地址的纬度/经度的例子,但我想自动化数据集中的多个地址。
import requests
GOOGLE_MAPS_API_URL = 'http://maps.googleapis.com/maps/api/geocode/json'
params = {
'address': '100 FOUNDERS CV ,ALPHARETTA, GA,30022',
'sensor': 'false',
'region': 'USA'
}
# Do the request and get the response data
req = requests.get(GOOGLE_MAPS_API_URL, params=params)
res = req.json()
# Use the first result
result = res['results'][0]
geodata = dict()
geodata['lat'] = result['geometry']['location']['lat']
geodata['lng'] = result['geometry']['location']['lng']
geodata['address'] = result['formatted_address']
print('{address}. (lat, lng) = ({lat}, {lng})'.format(**geodata))
解决方案
您可以使用 Google Maps Service 的 Python 库来加快速度。有一个地理编码功能:https ://github.com/googlemaps/google-maps-services-python/blob/master/googlemaps/geocoding.py
您可以将文件作为 dicts 的 dict 读取,并让每一行成为迭代的关键。
推荐阅读
- javascript - 如何使用 App 脚本将 HTML 表单提交到 Google 表单?
- .htaccess - 如何将此异常添加到htaccess?
- python - 了解 TfidfVectorizer 输出
- c# - 如何从亚马逊销售合作伙伴 api 解密亚马逊报告文件
- uipath - UiPath Get Text 让机器人崩溃
- android - 如何通过聊天屏幕通知打开活动?
- python - 如何仅通过 Python Pandas 数据框中的现有对创建循环?
- ruby - 通过md5摘要字符串计算base64digest
- ios - 使用 github 操作在 ios 上部署 ionic 应用程序
- jsf - 如何在 JSF 中舍入值?