脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 一行Python3代码实现解析地址信息

一行Python3代码实现解析地址信息

2023-02-09 11:24Carl_奕然 Python

在日常数据处理的过程中,有时候拿到手的是完整的地址信息,如果需要从地址信息中解析出相应的各级行政单元名称,方式有很多,而今天要介绍的方式只需要一行代码即可快速实现,快跟随小编一起学习一下吧

1、引言

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

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

小屌丝:那不都是用java实现的嘛,我想问Python如何实现呢?

小鱼:这,很简答的。一行代码的事。

小屌丝:不应该啊,平时你都是推三阻四的,今天咋这样痛快?

小鱼:今天心情好。

小屌丝:鱼哥,你对我就不能坦诚一点吗?

小鱼:你想不想学?

小屌丝:必须的啊,

小鱼那我就开始。

2、代码示例

2.1 简介

平时我们都遇到过,一整行的地址,看着非常不方便,

那如何能拆分出省市县街道单元呢?

在python的第三方库jionlp 就可以实现。

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

1、一行代码就可以搞定;

2、python流;

3、实现简单,安装方便;

4、功能强大,有自动补全功能;

2.2 安装

老规矩,pip安装

?
1
pip install jionlp

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

《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》

《Python3:我低调的只用一行代码,就导入Python所有库!》

2.3 实战

2.3.1 提取省市区信息

使用jionlp的parse_location() 方法,来提取省市区的信息

?
1
2
3
4
5
6
7
8
9
10
# -*- 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,还可以额外尝试提取出街镇乡、村或居委会信息等级别的信息字段:

?
1
2
3
4
5
6
7
8
9
10
# -*- 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()**会自动关联并补全相关信息:

?
1
2
3
4
5
6
7
8
9
10
# -*- 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": "江干区笕桥街道新风路明桂北苑社区居委会"
}

到此这篇关于一行Python3代码实现解析地址信息的文章就介绍到这了,更多相关Python解析地址信息内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/wuyoudeyuer/article/details/124783487

延伸 · 阅读

精彩推荐
  • PythonPython实现简单飞机大战

    Python实现简单飞机大战

    这篇文章主要为大家详细介绍了Python实现简单飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    stubborn vegeta10692021-12-13
  • PythonPython的shutil模块中文件的复制操作函数详解

    Python的shutil模块中文件的复制操作函数详解

    shutil被定义为Python中的一个高级的文件操作模块,拥有比os模块中更强大的函数,这里我们就来看一下Python的shutil模块中文件的复制操作函数详解 ...

    lucifercn14342020-09-01
  • Python使用Django和Python创建Json response的方法

    使用Django和Python创建Json response的方法

    下面小编就为大家分享一篇使用Django和Python创建Json response的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    fengyu0911022021-01-25
  • Pythonpython正则表达式去除两个特殊字符间的内容方法

    python正则表达式去除两个特殊字符间的内容方法

    今天小编就为大家分享一篇python正则表达式去除两个特殊字符间的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    zcc_00157942021-05-07
  • Python详谈python3中用for循环删除列表中元素的坑

    详谈python3中用for循环删除列表中元素的坑

    下面小编就为大家分享一篇详谈python3中用for循环删除列表中元素的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    jimmy_gyn6722021-02-02
  • PythonPython中typing模块的具体使用

    Python中typing模块的具体使用

    本文主要介绍了Python中typing模块的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着...

    A-L-Kun4042023-02-02
  • PythonPython实现批量转换文件编码的方法

    Python实现批量转换文件编码的方法

    这篇文章主要介绍了Python实现批量转换文件编码的方法,涉及Python针对文件的遍历及编码转换实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    yak4222020-07-27
  • Pythonpython中os和sys模块的区别与常用方法总结

    python中os和sys模块的区别与常用方法总结

    这篇文章主要给大家介绍了关于python中os和sys模块的区别与常用方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    碧水幽幽泉3192020-12-17