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

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

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": "江干区笕桥街道新风路明桂北苑社区居委会"
}


3、总结


看到这里,今天分享就差不多该结束了。

持续关注小鱼,带你学习更多更有趣的Python知识。


目录
相关文章
|
1天前
|
监控 Python
Python中的装饰器:提升代码灵活性和可维护性
在Python编程中,装饰器是一种强大的工具,可以提高代码的灵活性和可维护性。本文将深入探讨装饰器的概念、用法和实际应用,帮助读者更好地理解并运用装饰器来优化自己的Python代码。
|
2天前
|
算法 Java 编译器
优化Python代码性能的实用技巧
提高Python代码性能是每个开发者的关注焦点之一。本文将介绍一些实用的技巧和方法,帮助开发者优化他们的Python代码,提升程序的执行效率和性能。
|
4天前
|
Python
Python中的装饰器:提升代码可读性与复用性
Python中的装饰器是一种强大的工具,能够提升代码的可读性和复用性。本文将深入探讨装饰器的原理、用法以及在实际项目中的应用,帮助读者更好地理解和利用这一特性,提升代码质量和开发效率。
|
5天前
|
监控 Python
Python中的装饰器:提升代码可读性与可维护性
Python中的装饰器是一种强大的工具,可以在不修改函数源代码的情况下,增加新的功能。本文将介绍装饰器的基本概念,以及如何使用装饰器来提升代码的可读性和可维护性。通过实例演示,读者将了解装饰器在各种场景下的灵活运用,从而更好地理解并应用于实际开发中。
|
5天前
|
缓存 Python
Python中的装饰器:提升代码可读性与灵活性
在Python编程中,装饰器是一种强大的工具,可以通过在函数或方法周围包装额外的功能来提升代码的可读性和灵活性。本文将深入探讨装饰器的概念、用法和实际应用,帮助读者更好地理解并运用这一Python编程的利器。
|
6天前
|
XML 存储 数据格式
python path解析基础
python path解析基础
12 0
|
6天前
|
数据采集 Python
Python HTML解析详解
Python HTML解析详解
8 0
|
6天前
|
缓存 并行计算 Serverless
优化Python代码性能的5个技巧
在日常Python编程中,代码性能的优化是一个重要的议题。本文介绍了5个实用的技巧,帮助你提高Python代码的执行效率,包括使用适当的数据结构、优化循环结构、利用内置函数、使用生成器表达式以及并行化处理。通过这些技巧,你可以更高效地编写Python代码,提升程序的性能和响应速度。
|
7天前
|
Python
探索Python中的装饰器:提升代码灵活性与可维护性
Python中的装饰器是一种强大的工具,可以在不改变原有代码结构的情况下,动态地添加功能或修改函数的行为。本文将深入探讨装饰器的原理、常见用法以及如何利用装饰器提升代码的灵活性和可维护性。
|
8天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码

推荐镜像

更多