在Python中使用 GeoPy 获取给定位置的邮政编码
在本文中,我们将使用 Geopy 模块编写一个Python脚本,通过使用位置获取邮政编码。geopy使Python开发人员可以轻松定位世界各地的地址、城市、国家和地标的坐标。
要安装 Geopy 模块,请在终端中运行以下命令。
pip install geopy
方法:
- 导入 Geopy 模块
- 初始化 Nominatim API 以从输入字符串中获取位置。
- 使用 geolocator.geocode()函数获取位置。
- 现在从位置实例中提取 Zip 数据。
分步实施:
第 1 步:导入模块。
Python3
# import module
from geopy.geocoders import Nominatim
Python3
# initialize Nominatim API
geolocator = Nominatim(user_agent="geoapiExercises")
Python3
place = "Boring road patna"
location = geolocator.geocode(place)
print(location)
Python3
data = location.raw
print(data)
Python3
loc_data = data['display_name'].split()
print("Full Location")
print(loc_data)
print("Zip code : ",loc_data[-2])
Python3
# import module
from geopy.geocoders import Nominatim
# initialize Nominatim API
geolocator = Nominatim(user_agent="geoapiExercises")
# place input by geek
place = "Boring road patna"
location = geolocator.geocode(place)
# traverse the data
data = location.raw
loc_data = data['display_name'].split()
print("Full Location")
print(loc_data)
print("Zip code : ",loc_data[-2])
第 2 步:创建一个 Nominatim 对象并使用 geoapiExercises 参数初始化 Nominatim API。
蟒蛇3
# initialize Nominatim API
geolocator = Nominatim(user_agent="geoapiExercises")
第 3 步:现在使用 geocode() 获取完整地址。
蟒蛇3
place = "Boring road patna"
location = geolocator.geocode(place)
print(location)
输出:
Boring Road, Digha, Patna, Patna Rural, Patna, Bihar, 800001, India
第 4 步:现在从给定的列表中获取信息,并使用原始函数() 解析为字典。
蟒蛇3
data = location.raw
print(data)
输出:
第 5 步:现在从给定的字典中遍历邮政编码。
蟒蛇3
loc_data = data['display_name'].split()
print("Full Location")
print(loc_data)
print("Zip code : ",loc_data[-2])
输出:
全面实施:
蟒蛇3
# import module
from geopy.geocoders import Nominatim
# initialize Nominatim API
geolocator = Nominatim(user_agent="geoapiExercises")
# place input by geek
place = "Boring road patna"
location = geolocator.geocode(place)
# traverse the data
data = location.raw
loc_data = data['display_name'].split()
print("Full Location")
print(loc_data)
print("Zip code : ",loc_data[-2])
输出: