大家好,我是黄伟🤭
在日常数据处理的过程中,假如你获取了一个完整的地址信息。如果需要你从该地址中解析出省、市、县三级地名,或乡镇、村、社区两级详细地名,应该怎么办呢?
那么,今天黄同学就来教你如何使用一行代码,实现地址的快速解析。
首先,我们需要用到一个第三方库,因此可以提前安装一下。
pip install jionlp -i https://pypi.douban.com/simple/
为了实现快速的安装,我们这里选择使用“豆瓣镜像”进行安装,当然你也可以选择其它的国内源下载。
安装并导入该库后,就可以进行使用了。
import jionlp as jio
我们任意给出一个完整的地址,即可提取出其中的省市区信息。
text = '四川省成都市武侯区红牌楼街19号红星大厦9楼2号'
res = jio.parse_location(text)
print(res)
最终效果如下:
假如给定的地址信息不完整,没有省市信息,那么我们是否可以实现地址的自动补全,并进行正确的提取呢?
其实上述方法,本身就可以实现省市信息的 自动补全。
text = '武侯区红牌楼街道19号红星大厦9楼2号'
res = jio.parse_location(text)
res
最终效果如下:
通过将参数town_village设置为True,即可实现这个需求。
text = '江苏省南通市崇川区陈桥街道33号'
res = jio.parse_location(text,town_village=True)
res
最终效果如下:
国内行政区划有变动,支持使用change2new(bool)自动将旧地名转换为新地名,仅限省、市、县三级的转换。
2020年国务院批准,港闸区变为了崇川区。
text = '港闸区陈桥街道33号'
res = jio.parse_location(text, change2new=True, town_village=True)
res
最终效果如下: