我有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) 逗号是所有行的分隔符吗?2) 逗号是否用于值内部(例如街道名称内部)?3) 要删除的所有单词列表(道路、街道、大道等)4) 地址可以是"房屋名称"的形式,而不是带号码的街道吗?
这是一个带有一些学习功能的地址解析器的随机示例:https://github.com/datamade/usaddress
如果您的格式和需求与现有的解析器不完全匹配,那么您必须自己编写。