Python:使用 jionlp和cpca 实现国内地址文本解析

在这里插入图片描述

目录

    • 使用 jionlp解析国内地址文本
    • 使用 cpca 实现解析国内地址文本
    • 总结

使用 jionlp解析国内地址文本

jionlp: 中文 NLP 预处理、解析工具包,准确、高效、易用

  • github: https://github.com/dongrixinyu/JioNLP
  • 文档:http://www.jionlp.com/

使用示例

import jsonimport jionlp as jiolst = ['四川省成都市武侯区红牌楼街19号红星大厦9楼2号','杭州市滨江区网商路599号','东城区和平里街道','上海市徐汇区xx小区'
]for text in lst:res = jio.parse_location(text)print(json.dumps(res, ensure_ascii=False, indent=2))

解析结果

{"province": "四川省","city": "成都市","county": "武侯区","detail": "红牌楼街19号红星大厦9楼2号","full_location": "四川省成都市武侯区红牌楼街19号红星大厦9楼2号","orig_location": "四川省成都市武侯区红牌楼街19号红星大厦9楼2号"
}
{"province": "浙江省","city": "杭州市","county": "滨江区","detail": "网商路599号","full_location": "浙江省杭州市滨江区网商路599号","orig_location": "杭州市滨江区网商路599号"
}
{"province": "北京市","city": "北京市","county": "东城区","detail": "和平里街道","full_location": "北京市东城区和平里街道","orig_location": "东城区和平里街道"
}
{"province": "上海市","city": "上海市","county": "徐汇区","detail": "xx小区","full_location": "上海市徐汇区xx小区","orig_location": "上海市徐汇区xx小区"
}

使用 cpca 实现解析国内地址文本

cpca:一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块

目前仅仅支持python3

github: https://github.com/DQinYuan/chinese_province_city_area_mapper

import jsonimport cpcalst = ['四川省成都市武侯区红牌楼街19号红星大厦9楼2号','杭州市滨江区网商路599号','东城区和平里街道','上海市徐汇区xx小区'
]df = cpca.transform(lst)
print(json.dumps(df.to_dict(), ensure_ascii=False, indent=2))
     省    市    区               地址  adcode
0  四川省  成都市  武侯区  红牌楼街19号红星大厦9楼2号  510107
1  浙江省  杭州市  滨江区          网商路599号  330108
2  北京市  市辖区  东城区            和平里街道  110101
3  上海市  市辖区  徐汇区             xx小区  310104

转为json数据

{"省": {"0": "四川省","1": "浙江省","2": "北京市","3": "上海市"},"市": {"0": "成都市","1": "杭州市","2": "市辖区","3": "市辖区"},"区": {"0": "武侯区","1": "滨江区","2": "东城区","3": "徐汇区"},"地址": {"0": "红牌楼街19号红星大厦9楼2号","1": "网商路599号","2": "和平里街道","3": "xx小区"},"adcode": {"0": "510107","1": "330108","2": "110101","3": "310104"}
}

总结

通过比对,发现两者的解析结果相差不是太大

库名star
JioNLP2.9K
cpca1.6K

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2源码学习01配置rollup打包环境

1.下载rollup相关依赖 npm i rollup rollup-plugin-babel babel/core babel/preset-env --save-dev 2.新建rollup.config.js配置打包选项 //rollup可以导出一个对象,作为打包的配置文件 import babel from rollup-plugin-babel export default {input: ./src/ind…

搭建Hadoop集群(完全分布式运行模式)

目录 一、准备模板机(最小化安装)二、配置一台纯净的模板机修改主机名固定IP地址通过yum安装方式安装必要的软件关闭防火墙且禁止自启修改hosts映射文件创建普通用户 并让他能用sudo命令在/opt下创建software和module完成 三、搭建完全分布式运行模式3.1克隆第一台机器hadoop10…

新能源汽车充电桩站点烟火AI识别检测算法应用方案

新能源汽车作为现代科技与环保理念的完美结合,其普及和应用本应带给人们更加便捷和绿色的出行体验。然而,近年来新能源汽车充电火灾事故的频发,无疑给这一领域投下了巨大的阴影。这不禁让人深思,为何这一先进的交通工具在充电过程…

【算法】acwing基础课笔记01-快排,归并

第一章(基础算法)(一) 以前排序都没怎么自己手写过,这学期终于决定抛弃各种番和游戏好好学一下…记点笔记激励一下自己。 视频知识 00:0000:30快速排序,00:3000&#…

Vue+SpringBoot在线教育考试及管理平台开发(纯原创)后续还在开发,会持续更新

登录页面设计 登录页面设计思路-分为三个角色进行登录&#xff0c;分别为学生&#xff0c;教师&#xff0c;管理员。 前端将登录设计为表单形式&#xff0c;通过选项组件绑定角色参数&#xff0c;向后端传递角色信息&#xff0c;通过表单绑定向后端传递登录者所有信息 <div …

必示科技携手云杉网络发布“智能可观测性联合解决方案”

近日&#xff0c;必示科技与云杉网络携手发布“智能可观测性联合解决方案”&#xff0c;整体方案融合云杉网络DeepFlow产品在可观测性领域、必示科技AIOps产品在运维数据分析领域的深厚技术积淀&#xff0c;完整实现IT系统高质量、高性能、全栈的可观测数据采集、智能监控和智能…

网络: 数据链路层

数据链路层: 数据帧的封装与传输 以太网数据帧 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的;帧协议类型字段有三种值,分别对应IP、ARP、RARP;帧末尾是CRC校验码 以太网 "以太网" 不是一种具体的网络, 而是一种技术标准; 既…

String 作为方法参数是值传递还是引用传递

当将一个String作为方法参数传递时&#xff0c;实际上传递的是String对象的引用的副本&#xff0c;而不是String对象本身。即&#xff0c;在方法内部对String对象进行操作时&#xff0c;操作的是引用的副本&#xff0c;而不会影响原始的String对象。这也意味着&#xff0c;如果…

Cubemx串口配置

1.时钟 2.引脚配置 3.重写printf代码 /* USER CODE BEGIN 1 */ int __io_putchar(int ch){HAL_UART_Transmit(&huart1,(uint8_t *) ch, 1,1000);return ch; } /* USER CODE END 1 */

05分布式事务之CAP理论和BASE理论

分布式事务 项目优化 在网站上加载课程详情信息时如果很慢(排除网速)会影响用户的体验性&#xff0c;为了提高响应速度需要将课程详情信息进行缓存并且将课程信息加入索引库方便全局搜索 Redis中的课程缓存信息是将课程发布表中的数据转为json进行存储Elasticsearch中的课程…

Mysql数据库:索引管理

目录 一、索引的概述 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 5、索引优化 6、索引的分类 7、数据文件与索引文件 二、管理数据库索引 1、查询索引 2、创建索引 2.1 创建普通索引 2.2 创建唯一索引 2.3 创建主键索引 2.4 创建组合…

58、服务攻防——应用协议设备KibanaZabbix远控向日葵VNCTeamViwer

文章目录 vnc默认端口&#xff1a;5900 or 5902&#xff0c;hydra支持vnc破解。VNC有三种模式&#xff1a;使用vnc密码、windows密码、无密码。 teamviewer、向日葵都是使用之前爆过漏洞进行测试。 zabbix&#xff1a;监控系统&#xff0c;蓝队部署平台。zabbix页面如下&#…

(PAT乙级) 1084 外观数列 (C语言实现,不要使用strcat)

外观数列是指具有以下特点的整数序列&#xff1a; d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始&#xff0c;序列的第 n1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d&#xff0c;所以就是 d1&#xff1b;第 2 项是 1 个 d&#xff08;对…

建立一个高效协作的团队从《团队章程》开始

《团队章程》 项目资源分为团队资源&#xff08;人力&#xff09;和实物资源。而项目资源管理的目的拿今天最流行的说法就是降本增效&#xff0c;那么建立一个高效协作的团队从《团队章程》开始&#xff0c;以某供应链团队的团队章程&#xff08;简化&#xff09;举例&#xf…

puppeteer使用示例云顶之弈官网

自己从0到1开发的&#xff0c;微信小程序【云顶宝藏】求求点个5星好评吧&#xff01; 需求&#xff1a;拿到所有英雄的信息 思路&#xff1a;点击每个英雄&#xff0c;进入英雄详情页&#xff0c;拿信息&#xff0c;并返回&#xff0c;继续下一个英雄** 最终效果 本地环境 win…

如何搭建DolphinScheduler服务并结合内网穿透公网远程任务调度

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

C语言学习 四、选择与循环

4.1关系表达式与逻辑表达式 算术运算符的优先级高于关系运算符关系运算符的优先级高于逻辑与 和 逻辑或运算符相同优先级的运算符从左到右进行结合 【例】 表达式 5 > 3 && 8 < 4 - !0 的最终值为多少 4.2 if-else语句 4.2.1 if-else单分支语句 if判断条件&am…

力扣日记3.21【贪心算法篇】45. 跳跃游戏 II

力扣日记&#xff1a;【贪心算法篇】45. 跳跃游戏 II 日期&#xff1a;2024.3.21 参考&#xff1a;代码随想录、力扣 45. 跳跃游戏 II 题目描述 难度&#xff1a;中等 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转…

C语言例:设 int x; 则表达式 (x=4*5,x*5),x+25 的值

代码如下&#xff1a; #include<stdio.h> int main(void) {int x,m;m ((x4*5,x*5),x25);printf("(x4*5,x*5),x25 %d\n",m);//x4*520//x*5100//x2545return 0; } 结果如下&#xff1a;

网络仿真3-NS2协议修改和移植

Ns2实现原理 OTcl与C关联 执行路径&#xff1a;Tcl->Otcl->C 返回路径&#xff1a;C->Otcl->Tcl NS2协议修改和移植 NS2中的各种网络协议在底层通过C实现&#xff0c;在网络仿真过程中最终通过调用底层C代码实现网络行为、算法、功能等各种仿真 NS2协议修改&…