如何在Python中获取邮政编码

如何在Python中获取邮政编码

在本教程中,我们将讨论如何使用Python中的 geopy 模块获取特定位置的邮政编码。 geopy 模块使得Python用户可以轻松定位全世界的地址、城市和国家的坐标。

要安装 Geopy 模块,用户可以运行以下命令:

pip3 install geopy

如何获取邮政编码

我们将按照以下步骤进行操作:

  • 步骤1: 导入 geopy 模块
  • 步骤2: 初始化 Nominatim API,用于从输入字符串获取位置
  • 步骤3: 通过使用geo_locator.geocode()函数获取位置
  • 步骤4: 通过使用ray函数将给定列表中的信息解析为字典
  • 步骤5: 从位置实例中提取邮政编码数据

步骤1: 导入geopy模块

from geopy.geocoders import Nominatim

步骤2: 通过使用geoapiExercises参数,创建Nominatim对象并初始化Nominatim API。

geo_locator = Nominatim(user_agent = "geoapiExercises")

步骤3: 通过使用geocode()函数获取完整地址

place_1 = "RidgePoint Irving, Texas, USA"
location = geo_locator.geocode(place_1)
print(location)

输出:

Ridgepoint Drive, Irving, Dallas County, Texas, 75063, United States

步骤4: 从给定的列表中获取信息,并使用raw将其解析成字典。

data_1 = location.raw
print (data_1)

输出:

{' place_id ': 209975995, ' licence ': ' Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright ', ' osm_type ': ' way ', ' osm_id ': 567473012, ' boundingbox ': [' 32.908872 ', ' 32.9091407 ', ' -96.9887504 ', ' -96.9883353 '], ' lat ': ' 32.9088978 ', ' lon ': ' -96.9886835 ', ' display_name ':       ' Ridgepoint Drive, Irving, Dallas County, Texas, 75063, United States ', ' class ': 'highway ', ' type ': ' tertiary ', ' importance ': 0.42000000000000004}

步骤5: 从位置实例中提取Zip数据。

location_data = data_1['display_name'].split()
print ("The Full Location is: ")
print (location_data)
print ("The Zip code of the location is: ", location_data[-3])

输出:

The Full Location is: 
['Ridgepoint', 'Drive,', 'Irving,', 'Dallas', 'County,', 'Texas,', '75063,', 'United', 'States']
The Zip code of the location is:  75063,

将Python代码全部实现

示例

from geopy.geocoders import Nominatim
geo_locator = Nominatim(user_agent = "geoapiExercises")
place_1 = "Disneyland Dr, Anaheim, USA"
location = geo_locator.geocode(place_1)
print(location)
data_1 = location.raw
print (data_1)
location_data = data_1['display_name'].split()
print ("\nThe Full Location is: ")
print (location_data)
print ("The Zip code of the location is: ", location_data[-3])

输出:

Disneyland Drive, Anaheim, Orange County, California, 92812-9998, United States
{' place_id ': 211571693, ' licence ': ' Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright ', ' osm_type ': ' way ', ' osm_id ': 568143583, ' boundingbox ': [' 33.8184966 ', ' 33.8200236 ', ' -117.9229381 ', ' -117.9224363 '], ' lat ': ' 33.819073 ', ' lon ': ' -117.9226168 ', ' display_name ': 'Disneyland Drive, Anaheim, Orange County, California, 92812-9998, United States ', ' class ': ' highway ', ' type ': ' secondary ', ' importance ': 0.41000000000000003}

The Full Location is: 
['Disneyland', 'Drive,', 'Anaheim,', 'Orange', 'County,', 'California,', '92812-9998,', 'United', 'States']
The Zip code of the location is:  92812-9998,

结论

在本教程中,我们讨论了用户如何在Python中使用geopy模块获取给定位置的邮政编码。我们还展示了一个示例以便更好地理解。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程