Python 使用Uszipcode模块提取地点的邮政编码
Python的Uszipcode模块是一个强大的工具,用于在Python中处理美国邮政编码。该模块提供了一套全面的函数和类,用于处理邮政编码,包括搜索邮政编码,识别与邮政编码关联的位置以及计算两个邮政编码之间的距离。
在本文中,我们将详细介绍Python的Uszipcode模块及其如何用于解决各种问题。
什么是Python的Uszipcode模块
Python的Uszipcode模块是一个用于处理美国邮政编码的Python库。它旨在使在Python中处理邮政编码变得容易,并提供了一系列用于搜索邮政编码,识别与邮政编码关联的位置以及计算两个邮政编码之间距离的函数和类。
该模块构建在一个大型的美国邮政编码信息数据库之上,该数据库包含在模块中,并用于提供关于邮政编码的准确和最新信息。数据库包括有关每个邮政编码的位置的信息,包括城市、州和纬度和经度坐标等。
如何安装Python的Uszipcode模块
要使用Python的Uszipcode模块,首先需要安装它。该模块在PyPI(Python软件包索引)上可用,因此您可以使用pip来安装它。要做到这一点,请打开终端或命令提示符,并输入以下命令−
pip install uszipcode
这将安装Python的Uszipcode模块及其所有依赖项。安装完成后,您就可以将该模块导入到您的Python代码中并开始使用它。
导入和使用Uszipcode模块
为了使用Uszipcode python模块根据不同的条件搜索邮编,它提供了SearchEngine类,它是其中一个主要的类之一。您可以使用以下代码段来导入SearchEngine类。它还提供了一个使用邮编进行搜索的简单示例 −
示例
from uszipcode import SearchEngine
engine = SearchEngine()
zipcode = engine.by_zipcode(43215)
print(zipcode.zipcode, zipcode.major_city)
输出
它将产生以下输出结果 –
43215 Columbus
Uszipcode模块中的各种搜索方法
根据您的使用情况,您可以使用Uszipcode模块来搜索美国的邮政编码。Uszipcode Python模块提供了以下方法,您可以使用这些方法进行搜索:
by_zipcode()
假设您已经知道地方的邮政编码,但需要知道其他信息,比如城市的名称、人口等,可以使用by_zipcode()方法。下面的示例将演示如何使用该方法:
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcode = eng.by_zipcode(85083)
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将给出以下输出-
85083 Phoenix 18104
by_city_and_state()
正如名称所示,此方法接受城市名称和州名称作为参数,以提供您的搜索结果。让我们看一个示例来演示它-
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_city_and_state(city="Phoenix", state="arizona")
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出 –
85003 Phoenix 9369
85004 Phoenix 4965
85006 Phoenix 25742
85007 Phoenix 14040
85008 Phoenix 56145
by_coordinates
此方法提供了在半径范围内的所有邮政编码。它接受纬度、经度和半径作为参数。以下是一个示例:
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_coordinates(33.4484, -80.6589, radius=60)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出 −
29047 Elloree 3683
29018 Bowman 3749
29030 Cameron 1967
29142 Santee 4890
29133 Rowesville 1044
by_city()
正如名字所示,这个方法使用城市名作为参数,给你提供关于该城市的详细信息。让我们看下面的例子-
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_city(city="New York")
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出 –
10001 New York 21102
10002 New York 81410
10003 New York 56024
10004 New York 3089
10005 New York 7135
by_state()
这个方法使用州名作为参数,以提供有关该州的详细信息。让我们来看一下下面的示例 –
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_state(state="Ohio")
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出:
43001 Alexandria 2400
43003 Ashley 2917
43004 Blacklick 22727
43006 Brinkhaven 822
43009 Cable 2135
by_prefix()
我们可以找到以给定前缀开头的所有邮政编码。让我们看下面的例子−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_prefix("35")
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出-
35004 Moody 10427
35005 Adamsville 7942
35006 Adger 3121
35007 Alabaster 26225
35010 Alexander City 20816
by_population()
我们可以找到人口数量范围在下限和上限之间的所有邮政编码。限制范围为-1到2147483648。让我们看一下下面的例子−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_population(lower=500, upper=20000)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它会产生以下输出 –
24151 Rocky Mount 20000
19061 Marcus Hook 19997
83835 Hayden 19990
92377 Rialto 19989
29170 West Columbia 19988
by_population_density()
我们还可以使用人口密度(即每平方英里的人口数量)来找到邮政编码。它还以下限和上限作为参数。以下是一个示例来演示它−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_population_density(lower=50, upper=800)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出−
70807 Baton Rouge 20377
15317 Canonsburg 36535
08050 Manahawkin 24285
76135 Fort Worth 20684
25139 Mount Carbon 440
by_land_area_in_sqmi()
此方法通过使用平方英里范围的上限和下限来查找邮政编码,如下所示−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_land_area_in_sqmi(lower=50, upper=8000)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出−
99743 Healy 1069
97910 Jordan Valley 641
99901 Ketchikan 13508
99737 Delta Junction 5011
99701 Fairbanks 19019
by_water_area_in_sqmi()
此方法使用平方英里水域面积的下限和上限来查找邮政编码,具体步骤如下:
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_water_area_in_sqmi(lower=50, upper=8000)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出:
99615 Kodiak 12899
99901 Ketchikan 13508
99664 Seward 4932
99686 Valdez 4005
70091 Venice 278
by_housing_units()
此方法通过使用特定区域内住房单位的下限和上限来查找邮政编码,如下所示−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_housing_units(lower=50, upper=500)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出 –
26208 Camden On Gauley 973
26273 Huttonsville 2041
34739 Kenansville 793
45889 Van Buren 1351
47529 Elnora 1042
by_occupied_housing_units()
这个方法通过使用特定区域内住房单位占用的下界和上界找到邮政编码,如下所示−
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_occupied_housing_units(lower=50, upper=500)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出:
46730 Corunna 1381
52144 Fort Atkinson 1261
61465 New Windsor 1213
65771 Walnut Shade 1398
70645 Hackberry 1262
by_median_home_value()
此方法通过以下方式使用特定区域中房屋中位数价值的下限和上限来查找邮政编码-
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_median_home_value(lower=500000, upper=2000000)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出 –
24011 Roanoke 219
29482 Sullivans Island 1791
29941 Sheldon 497
33109 Miami Beach 594
59055 Melville 59
by_median_household_income()
此方法使用特定地区中位数家庭收入的下限和上限来找到邮政编码。
示例
from uszipcode import SearchEngine
eng = SearchEngine()
zipcodes = eng.by_median_household_income(lower=5000, upper=2000000)
for zipcode in zipcodes:
print(zipcode.zipcode, zipcode.major_city, zipcode.population)
输出
它将产生以下输出:
81335 Yellow Jacket 131
82063 Jelm 100
97028 Government Camp 217
21405 Annapolis 544
10282 New York 4783
结论
总之,USZIPCODE Python模块是在Python中处理美国邮政编码的有用工具。它允许您在给定位置附近的邮政编码范围内进行搜索,检索特定邮政编码的详细信息,并执行与邮政编码相关的各种其他任务。
该模块是建立在USPS ZIP Code API之上的,该API提供关于美国邮政编码及其相关位置数据的最新信息。
由于其广泛的功能和易于使用的界面,USZIPCODE模块可以成为涉及邮政编码的任何Python项目的有价值的补充。无论您需要搜索邮政编码,检索有关其的信息,还是执行与邮政编码相关的任何其他任务,USZIPCODE模块都能满足您的需求。