在python中将地址设置为门牌号,街道,城市,州

时间:2015-07-01 09:47:42

标签: python regex string

我有10亿个地址,有点像以下格式:

'12-as FS street, 456 DLGG Area, Rand. District, Sydney, Australia 32 1020203'

我需要像

这样的输出
Column1:12AS
Column2: FS 456 DLGG Area
Column3: Rand
Column4: Sydney
Column5: Australia
Column6: 32
Column7: 1020203

所以基本上我需要将它们分隔为house number, address line, state, country, statecode, pincode并删除street, district, countryside, road etc之类的字词。

此外,我需要搜索特定阈值以上的最常用词。

1 个答案:

答案 0 :(得分:1)

你只需要编写一个解析器。它的代码取决于数据。除非有人为您的特定数据格式编写了解析器。

即时问题清单(不完整): 1)逗号是所有行的分隔符吗? 2)逗号是否在值内使用(例如街道名称内)? 3)要删除的所有单词的列表(road,rd。,blvd。等) 4)可以采用"房屋名称"而不是带有数字的街道?

这是一个具有一些学习功能的地址解析器的随机示例: https://github.com/datamade/usaddress

如果您的格式和要求与某些现有解析器不完全匹配,那么您必须自己编写。