Python解析地址信息
Carl_奕然 人气:01、引言
小屌丝:鱼哥,你说咱们发快递时填写的地址信息,到后台怎么能看清楚写的对不对呢?
小鱼:这种事情还要问? 你没在电商行业混过??
小屌丝:那不都是用java实现的嘛,我想问Python如何实现呢?
小鱼:这,很简答的。一行代码的事。
小屌丝:不应该啊,平时你都是推三阻四的,今天咋这样痛快?
小鱼:今天心情好。
小屌丝:鱼哥,你对我就不能坦诚一点吗?
小鱼:你想不想学?
小屌丝:必须的啊,
小鱼那我就开始。
2、代码示例
2.1 简介
平时我们都遇到过,一整行的地址,看着非常不方便,
那如何能拆分出省市县街道单元呢?
在python的第三方库jionlp 就可以实现。
为啥要推荐jionlp 这个第三方库,
1、一行代码就可以搞定;
2、python流;
3、实现简单,安装方便;
4、功能强大,有自动补全功能;
2.2 安装
老规矩,pip安装
pip install jionlp
其它安装方式,直接看这两篇:
《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》
《Python3:我低调的只用一行代码,就导入Python所有库!》
2.3 实战
2.3.1 提取省市区信息
使用jionlp的parse_location() 方法,来提取省市区的信息
# -*- coding:utf-8 -*- # @Time : 2022-05-16 # @Author : carl_DJ import jionlp as jio #随便输入地址 raw_addres = "辽宁省大连市沙河口区富国街居委会" #解析地址信息 jio.parse_location(raw_addres)
运行结果
{
"province": "辽宁省",
"city": "大连市",
"county": "沙河口区",
"detail": "富国街居委会",
"full_location": "辽宁省大连市沙河口区富国街居委会",
"orig_location": "辽宁省大连市沙河口区富国街居委会"
}
2.3.2 提取街镇乡、村或居委会信息
设置参数town_village=True,还可以额外尝试提取出街镇乡、村或居委会信息等级别的信息字段:
# -*- coding:utf-8 -*- # @Time : 2022-05-16 # @Author : carl_DJ import jionlp as jio #随便输入地址 raw_addres = "浙江省杭州市江干区笕桥街道明桂北苑社区居委会" #解析地址信息 jio.parse_location(raw_addres,town_village=True)
运行结果
{
"province": "浙江省",
"city": "杭州市",
"county": "上城区",
"detail": "笕桥街道新风路明桂北苑社区居委会",
"full_location": "浙江省杭州市上城区笕桥街道明桂北苑社区居委会",
"orig_location": "浙江省杭州市江干区笕桥街道明桂北苑社区居委会",
"town": "笕桥街道",
"village": "None"
}
2.3.3 自动补全省市信息
若地址信息中缺失省市信息,使用**parse_location()**会自动关联并补全相关信息:
# -*- coding:utf-8 -*- # @Time : 2022-05-16 # @Author : carl_DJ import jionlp as jio #随便输入地址 raw_addres = "江干区笕桥街道新风路明桂北苑社区居委会" #解析地址信息 jio.parse_location(raw_addres)
运行结果
{
"province": "浙江省",
"city": "杭州市",
"county": "上城区",
"detail": "笕桥街道新风路明桂北苑社区居委会",
"full_location": "浙江省杭州市上城区笕桥街道新风路明桂北苑社区居委会",
"orig_location": "江干区笕桥街道新风路明桂北苑社区居委会"
}
加载全部内容