pyaddress是一个地址解析库,它消除了在应用程序中使用地址的猜测。

pyaddress的Python项目详细描述


address是一个地址解析库,消除了猜测 在应用程序中使用地址。我们把它作为公寓的一部分 搜索和公寓蜘蛛应用程序。

安装

pip install address

示例

首先,我们创建一个地址解析器。addressparser允许我们输入 城市、街道和地址后缀的列表。然后我们打电话 解析地址字符串上的地址,它返回一个地址实例 所有的属性都填好了。从那里,我们可以打印 地址,更改它们,验证它们,创建一个数据库模型 把它们存起来,或者别的什么东西。

from address import AddressParser, Address

ap = AddressParser()
address = ap.parse_address('123 West Mifflin Street, Madison, WI, 53703')
print "Address is: {0} {1} {2} {3}".format(address.house_number, address.street_prefix, address.street, address.street_suffix)

> Address is: 123 W. Mifflin St.

地址分析器

AddressParser(self, suffixes=None, cities=None, streets=None)

后缀、城市和街道都接受列表作为参数。如果你 保留它们为none,它们将从包中读取默认文件, 即suffix.csv、cities.csv和streets.csv。街道是 故意空白。

您可以提供可接受的后缀、城市和街道的列表 降低你的误报率。如果你知道所有的地址 处理在一个小区域内,您可以提供 并且应该得到更准确的结果。如果你只做一件事 城市,你可以在一个列表中提供这个城市,以及所有 那个城市的街道。

地址

地址由address parser.parser_address()返回。他们有 以下属性:

house_number

房子上的号码。这是所有有效地址所必需的。例如。 ^{str 1}123美元w.米夫林街

street_prefix

街道名称前面的方向。总是表示为一个或两个 后面跟着句号的字母。不需要。例如123w.Mifflin街

street

街道的名字。可能有多个单词。这是必需的 有效地址。例如123 W.mifflin

street_suffix

街道的尽头。这将始终是USPS的缩写 后面跟着一个句号。不需要,但强烈推荐。例如123 W。 米夫林st.

apartment

公寓号或单元式或任何表示 地址的特定部分。不需要。例如123 W.Mifflin街apt 10

buiding

有时地址被分为建筑物,或者更常见的是 以建筑物名称命名。不是必需的,通常是副主语。例如。 西米夫林街123号10号公寓(不动产)

city

地址的城市部分,最好在逗号后面。例如123 W。 米夫林街,madison,WI 53703

state

地址的状态,最好跟在城市和逗号后面。 总是两个大写字母。例如麦迪逊市米夫林街西123号,wi 53703

zip

地址的5位或9位邮政编码,最好跟随州。9个 格式支持的数字zips(xxxxx-xxx)。例如,威斯康星州麦迪逊市米夫林街西123号 53703

full_address()

返回地址的可读版本以供显示。遵循 与上述属性的样式规则相同。示例返回:(不动产) 威斯康星州麦迪逊市米夫林街西123号10号公寓,邮编:53703

待办事项

  • 通过google maps api添加地址验证,给定一个api 钥匙。
  • 在addressparser中允许自定义验证条件 是否正确的地址。
  • 为不正确的地址添加异常,而不是无提示失败和 允许用户验证。

1.2

吉特枢纽

文件支持请求并从 https://github.com/pcsforeducation/pyaddress

作者

  • 乔希·加什南
  • 罗布·贾奎特

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试