亲宝软件园·资讯

展开

Python解析地址信息

Carl_奕然 人气:0

1、引言

小屌丝:鱼哥,你说咱们发快递时填写的地址信息,到后台怎么能看清楚写的对不对呢?

小鱼:这种事情还要问? 你没在电商行业混过??

小屌丝:那不都是用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": "江干区笕桥街道新风路明桂北苑社区居委会"
}

加载全部内容

相关教程
猜你喜欢
用户评论