Python3,一行代码解析地址信息,原来物流单的地址是这样拆分。
原创
©著作权归作者所有:来自51CTO博客作者Carl_奕然的原创作品,请联系作者获取转载授权,否则将追究法律责任
1行代码解析地址信息
- 2.1 简介
- 2.2 安装
- 2.3 实战
- 2.3.1 提取省市区信息
- 2.3.2 提取街镇乡、村或居委会信息
- 2.3.3 自动补全省市信息
1、引言
小屌丝:鱼哥,你说咱们发快递时填写的地址信息,到后台怎么能看清楚写的对不对呢?
小鱼:这种事情还要问? 你没在电商行业混过??
小屌丝:那不都是用java实现的嘛,我想问Python如何实现呢?
小鱼:这,很简答的。一行代码的事。
小屌丝:不应该啊,平时你都是推三阻四的,今天咋这样痛快?
小鱼:今天心情好。
小屌丝:鱼哥,你对我就不能坦诚一点吗?
小鱼:你想不想学?
小屌丝:必须的啊,
小鱼那我就开始。
2、代码示例
2.1 简介
平时我们都遇到过,一整行的地址,看着非常不方便,
那如何能拆分出省市县街道单元呢?
在python的第三方库jionlp 就可以实现。
为啥要推荐jionlp 这个第三方库,
- 1、一行代码就可以搞定;
- 2、python流;
- 3、实现简单,安装方便;
- 4、功能强大,有自动补全功能;
2.2 安装
老规矩,pip安装
其它安装方式,直接看这两篇:
- 《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": "江干区笕桥街道新风路明桂北苑社区居委会"
}
3、总结
看到这里,今天分享就差不多该结束了。
持续关注小鱼,带你学习更多更有趣的Python知识。