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

2023-10-27

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)

运行结果

{
    "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知识。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Python正则表达式替换除特定单词之外的所有内容

    我正在尝试执行以下操作用正则表达式 import re x re compile going you words to replace s I am going home now thank you string to modify pri
  • Firefox 中的文件下载对话框

    我正在使用firefox进行selenium python编程 自动开始下载并保存文件 我已经完成了所有操作 但无法下载csv文件 我的python版本是2 6 6 我的selenium版本是最新版本 我也尝试使用以下链接 即 fp web
  • 使用 pdfkit 和 FastAPI 下载 PDF 文件

    我将使用 FastAPI 创建一个 API 将HTML页面到 PDF 文件 使用pdfkit 但是 它将文件保存到我的本地磁盘 当我在线提供此API后 用户如何将该PDF文件下载到他们的计算机上 from typing import Opt
  • 扭曲多种协议

    我希望为我正在从事的项目学习扭曲 该项目需要服务器响应 HTTP 请求以及通过 TCP 连接的其他协议 Twisted能够同时处理多种协议吗 我想使用 Twisted Web 来帮助处理 HTTP 但同时需要响应其他端口上的 TCP 连接
  • 如何从 Windows 7 PC 上完全卸载 Python 2.7

    从这里安装了Python 2 7 https www python org downloads release python 279 https www python org downloads release python 279 然后我
  • 绘制对数轴

    我想使用 matplotlib 绘制一张带有一个对数轴的图 我一直在阅读文档 但无法弄清楚语法 我知道这可能很简单 scale linear 在情节争论中 但我似乎无法正确理解 示例程序 import pylab import matplo
  • 打开文件路径在 python 中不起作用[重复]

    这个问题在这里已经有答案了 我正在编写一个数据库程序 personica 是我的测试主题 我通常在文件路径的位置有一个变量 但出于测试和演示的目的 我只有一个字符串 在我的计算机上的这个确切位置有一个文本文件 顺便说一句 因为我很偏执 所以
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 如何使用 django Rest 框架保存多对多字段对象

    我有博客 发布 标签三个模型 在博客模型中 我将字段 postedin 作为发布模型的外键 将 标签 作为标签模型的许多字段 模型 py class Posted models Model name models CharField Pos
  • 使用 scipy、python、numpy 进行非线性 e^(-x) 回归

    下面的代码为我提供了一条最佳拟合线的平坦线 而不是沿着 e x 模型的一条适合数据的漂亮曲线 谁能告诉我如何修复下面的代码以使其适合我的数据 import numpy as np import matplotlib pyplot as pl
  • ipython/jupyter 中的 tk 问题

    我正在尝试编写一个用于从 ipython jupyter 笔记本启动的 gui 但在笔记本中使用 tkinter 时遇到了麻烦 特别是在让 tk gui 窗口正常关闭方面 如何从 jupyter 制作 启动 tkinter gui 然后在不
  • 我可以在pycharm中的断点处进入交互模式吗

    我是一个相当新的 Pycharm 3 用户 正在从事 django 项目 我可以在 pycharm3 中的断点处进入交互模式吗 这可能吗 当程序在断点处停止时 我尝试过工具 gt 打开调试命令行 但我没有看到控制台打开 我怎样才能让它发挥作
  • 如何使用Peewee查询多个相似的数据库?

    我遇到了使用 Peewee 查询多个数据库的问题 我有 2 个现有的 mysql 数据库 让我们将它们命名为 A 和 B 结构相似 因为它是两个 Bugzilla 数据库 我使用 Pwiz 生成模型 modelsA py 和 modelsB
  • Python3 - 如何将字符串转换为十六进制

    我正在尝试将字符串逐个字符转换为十六进制 但我无法在Python3中弄清楚它 在较旧的 python 版本中 我的以下内容有效 test This is a test for c in range 0 len test print 0x s
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何在 FastAPI Swagger API 中按方法类型对方法进行排序?

    如何在 FastAPI Swagger 自动文档中设置 API 方法的排序顺序 我希望所有方法按类型分组 GET POST PUT DELETE 这个答案 https stackoverflow com questions 24951268
  • 在解析器/子解析器的开头使用 argparse.REMAINDER

    我想实现一个 arg 解析器 它允许我将单元测试作为子命令之一运行 盲目地将参数传递给 unittest main 例如 foo py unittest args to pass to unittest main 以及其他子命令 foo p
  • 启动客户端时,代码要求提供电话/机器人令牌

    使用 Telethon 库运行我的第一个代码时 它要求提供机器人令牌 这是实际的代码 from telethon import TelegramClient events sync api id 1234567 api hash xxxxx
  • 使用 Python 获取 Youtube 数据

    我正在尝试学习如何分析网络上可用的社交媒体数据 我从 Youtube 开始 from apiclient errors import HttpError from outh2client tools import argparser fro
  • 如何动态选择要在flask中使用的模板目录?

    默认情况下 Flask 使用存储在 template 目录中的模板文件 flaskapp application py templates hello html 有没有办法根据登录的用户动态选择模板目录 这就是我想要的目录结构 flaska

随机推荐

  • bash: /root/.bashrc: 行 102: 语法错误: 未预期的文件结尾

    问题描述 解决方案 在添加内容的末尾加上fi
  • idea使用sonarlint插件

    JDH 邹老板 一 插件安装 由于是内网环境 根据自己安装的idea版本 去官网下载离线插件包进行离线安装 我的idea是IntelliJ IDEA 2020 2 3 安装包如下 二 sonarlint服务器配置 插件安装完成之后 在设置里
  • YaRN: Efficient Context Window Extension of Large Language Models

    本文是LLM系列文章 针对 YaRN Efficient Context Window Extension of Large Language Models 的翻译 YaRN 大型语言模型的有效上下文窗口扩展 摘要 1 引言 2 背景和相关
  • zookeeper版本选择与配置参数调优

    一 zookeeper 发布策略 Apache ZooKeeper 社区一次支持两个发布分支 stable和current ZooKeeper的稳定版本是 3 7 x 当前版本是 3 8 x 一旦发布新的次要版本 稳定版本预计将很快退役 大
  • 使用开散列实现对字典的查找插入删除(C++实现)

    一 需求分析 问题描述 实现对字典的查找 基本要求 在分块查找 AVL树 哈希查找 B树或者B 树查找中选择一种你认为最高效的动态查找方法对字典 单词 词性加释义 在内存中的动态查找结构或者在外存的字典文件的构造 查找 插入 删除 逻辑操作
  • JVM常见命令之JPS

    1 JPS Java Virtual Machine Process Status JDK1 5提供的显示当前所有进程pid的命令 2 jps q 只输出pid 3 jps l 输出应用程序main class 的完整package名或者应
  • Spring底层组件xxxAware家族

    搞懂xxxAware家族对理解Spring源码和提高代码能力也有帮助 Spring中常见xxxAware接口列举如下 ApplicationContextAware BeanNameAware EmbeddedValueResolverAw
  • 实时数仓实践以及架构

    前言 数据智能 Data Intelligence 有一个必须且基础的环节 就是数据仓库的建设 同时 数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务 从智能商业的角度来讲 数据的结果代表了用户的反馈 获取结果的及时性就显得尤为
  • IDEA在Debug模式下 对象转JSON

    如果文章对你有帮助欢迎 关注 点赞 收藏 一键三连 一起努力 IDEA在debug模式下面是不能直接复制被调试的Object为Json字符串的 但是在工作中经常会用到json入参 这里用两种方式实现这个操作 方便进行其他操作和工作交流 一
  • eds能谱图分析实例_EDS那些事儿

    什么是EDS 我们通常所说的EDS全称为能量色散X射线谱仪 简称能谱仪 可同时记录所有X射线谱 用以测量X射线强度与X射线能量的函数关系 是一种不损坏试样的快速微区成分分析方法 通过测量材料被激发的特征X射线能量进行元素的定性分析 测量特征
  • fake-useragent,python爬虫伪装请求头

    在编写爬虫进行网页数据的时候 大多数情况下 需要在请求是增加请求头 下面介绍一个python下非常好用的伪装请求头的库 fake useragent 具体使用说明如下 安装fake useragent库 pip install fake u
  • 复杂美区块链溯源系统架构

    从功能架构上 复杂美将区块链存证溯源系统按照功能划分为区块链核心层 接口层 运维管理层 溯源平台层和用户端层 1 区块链基础层 面向整个存证溯源平台提供基础信息服务 主要是为上层架构组件提供基础设施 保证上层服务可靠运行 源数据从IOT设备
  • 数据结构-链式存储

    数据结构 一 数据结构的定义 一组用来保存一种或者多种特定关系的数据集合 二 数据与数据之间的关系 lt 1 gt 数据的逻辑结构 数据元素与元素之间的关系 集合 关系平等 线性结构 元素之间一对一的关系 表 队列 栈 树形结构 元素之间一
  • 模式分类识别

    模式分类识别 DBN深度置信网络数据多特征分类预测 Matlab完整程序 目录 模式分类识别 DBN深度置信网络数据多特征分类预测 Matlab完整程序 分类结果 基本介绍 程序设计 参考资料 分类结果
  • Host文件

    linux中 etc目录 配置文件 etc目录包含了系统特有的配置文件 所谓配置文件 就是用于控制程序运行的本地文件 它绝大多情况下都说 只读 的私有文件 而且是可编辑的 这里的可编辑是指能直接看懂的 所以那些二进制可执行文件是不能作为配置
  • springboot多数据源---2事务

    一 多数据源事务控制 在多数据源下 由于涉及到数据库的多个读写 一旦发生异常就可能会导致数据不一致的情况 在这种情况希望使用事务 进行回退 但是Spring的声明式事务在一次请求线程中只能使用一个数据源进行控制 但是对于多源数据库 1 单一
  • 在webstorm 中直接运行ts文件

    原文链接 在webstorm 中直接运行ts文件 上一篇 ubuntu 使用 Apache Bench 进行并发测试 下一篇 使用js解数独难题 安装插件后重启IDE Run Configuration for TypeScript
  • Notice: Use of undefined constant submit - assumed 'submit'

    Notice Use of undefined constant submit assumed submit in D wamp www ECMS insert monitors php on line 66 Notice Undefine
  • vue期望值与实际值比较:折线图

    效果图 点击上方对应按钮 下方相应的数据图可隐藏 显示 代码 一 下载echarts包 终端运行 npm install echarts 二 components HelloWorld vue
  • Python3,一行代码解析地址信息,原来物流单的地址是这样拆分。

    1行代码解析地址信息 1 引言 2 代码示例 2 1 简介 2 2 安装 2 3 实战 2 3 1 提取省市区信息 2 3 2 提取街镇乡 村或居委会信息 2 3 3 自动补全省市信息 3 总结 1 引言 小屌丝 鱼哥 你说咱们发快递时填写