Python3,一行代码解析地址信息,原来物流单的地址是这样拆分。

1、引言

小屌丝:鱼哥,你说咱们发快递时填写的地址信息,到后台怎么能看清楚写的对不对呢?
小鱼:这种事情还要问? 你没在电商行业混过??
小屌丝:那不都是用java实现的嘛,我想问Python如何实现呢?
小鱼:这,很简答的。一行代码的事。
小屌丝:不应该啊,平时你都是推三阻四的,今天咋这样痛快?
小鱼:今天心情好。
小屌丝:鱼哥,你对我就不能坦诚一点吗?
小鱼:你想不想学?
小屌丝:必须的啊,
小鱼那我就开始。

2、代码示例

2.1 简介

平时我们都遇到过,一整行的地址,看着非常不方便,
那如何能拆分出省市县街道单元呢?
在python的第三方库jionlp 就可以实现。

为啥要推荐jionlp 这个第三方库,

  • 1、一行代码就可以搞定;
  • 2、python流;
  • 3、实现简单,安装方便;
  • 4、功能强大,有自动补全功能;

2.2 安装

老规矩,pip安装

pip install jionlp

其它安装方式,直接看这两篇:

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)

运行结果

扫描二维码关注公众号,回复: 14401861 查看本文章
{
    
    
    "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知识。

猜你喜欢

转载自blog.csdn.net/wuyoudeyuer/article/details/124783487