当前位置: 首页 > news >正文

python格式化地址信息

背景

最近在折腾一个好玩的库,capa 实现地址的格式化输出。我看的教程是这样的:

location_str = ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区"]
import cpca
df = cpca.transform(location_str)
df

在正式的运行代码之前,我在想我输入的地址为什么不能是随机的呢(因为结合很多的应用场景,我觉得问题的解决办法都是相通的),顺便还能帮官方的测试一下好不好用。于是我开始了倒腾,找到了一个模拟地址生成的库 Faker

在正式使用之前,我也看到了这样的帖子,不使用任何的pip包实现。文章地址

这篇文章几乎是从最基础的方法开始,生成对应的随机信息。个人建议作为初学者可以做这样的尝试,可以不断的提升对于python语法特性的掌握程度,但是作为对python有一定的熟悉程度或者工程师,我们首选的还是pip包的组件。一是拿来就用,省时省力;二是:可以用合适呢该有的时间研究一下对方的源码,提升自己的工程化思维和技术的提升。

Faker的使用API可以参照这篇博客,关于Faker的使用我会换一期视频讲解。

安装fake

pip install faker

随机生成10个地址

from faker import Faker# 创建Faker对象
fake = Faker('zh_CN')# 生成10个随机地址
random_addresses = []
for _ in range(10):address = fake.address()# 生成的地址带区域编号,去除random_addresses.append(address.split(' ')[0])for address in random_addresses:print(address)

生成的地址如下:

img

可以明显的感觉到这比我们自己手动的书写代码实现随机的信息生成效率、可实用性高多了。

cpca地址解析

安装cpca包

pip install cpca

测试,为了效果更加明显,我写了一条我造的数据

random_addresses.append('湖北省武汉市香港路111号')import cpcadf = cpca.transform(random_addresses)
print(df)

最终的效果如下:

img

还可以输出对应的省、市、区的位置,只需要增加如下的参数:

pos_sensitive=True

官方文档的解释:pos_sensitive:如果为True则会多返回三列,分别提取出的省市区在字符串中的位置,如果字符串中不存在的话则显示-1

可见效果还是很nice的,基本上省、市、地址都能很好的提取出来,可用于部分的demo展示;地址信息完整的话,也可以用于实际的生产。但是可以看到部分地址的市、区信息没有提取出来。因为地址是虚造出来的,地址的准确性也没有得到检验。

如果遇到更加复杂的场景,如获得文本的市、区信息,这个就显得有些吃力了。更多的复杂场景,可能就需要用到NLP了,可以参考文章基于PaddleNLP的快递单信息抽取-实体抽取

参考文章

  • [使用python提取中文地址描述中的省市区信息](
http://www.lryc.cn/news/105261.html

相关文章:

  • k8s1.26.6 安装gitlab
  • C5.0决策树建立个人信用风险评估模型
  • 【k8s集群部署】使用containerd运行时部署kubernetes集群(V1.27版本)
  • 网络安全进阶学习第八课——信息收集
  • Spring Data Elasticsearch - 在Spring应用中操作Elasticsearch数据库
  • 图论-简明导读
  • 记一次 .NET 某物流API系统 CPU爆高分析
  • 【Docker】Docker安装Kibana服务_Docker+Elasticsearch+Kibana
  • 前端面试题-VUE
  • Linux嵌入式平台安全启动理解介绍
  • 安全学习DAY09_加密逆向,特征识别
  • 原型模式(Prototype)
  • 深度学习之用PyTorch实现线性回归
  • 45.248.11.X服务器防火墙是什么,具有什么作用
  • 如何以无服务器方式运行 Go 应用程序
  • 小程序商城系统的开发方式及优缺点分析
  • [数据集][目标检测]城市道路井盖破损丢失目标检测1377张
  • 【Spring Cloud 三】Eureka服务注册与服务发现
  • WPF实战学习笔记21-自定义首页添加对话服务
  • AngularJS学习(一)
  • 918. 环形子数组的最大和
  • AI算法图形化编程加持|OPT(奥普特)智能相机轻松适应各类检测任务
  • C语言文件指针设置偏移量--fseek
  • 快速消除视频的原声的技巧分享
  • lua脚本实现Redis令牌桶限流
  • 最新 23 届计算机校招薪资汇总
  • BUU CODE REVIEW 1
  • django使用ztree实现树状结构效果,子节点实现动态加载(l懒加载)
  • 认识springboot 之 了解它的日志 -4
  • 关于大规模数据处理的解决方案