Python从字符串串中如何提取国家、地区或者城市信息?

今天有位朋友请教,如何在不联网的情况下,从根据几个地址获取所在国家的ISO编码?

比如: 快递地址是西安市丈八六路12小区,国家ISO编码: CHN

我解决思路是: 

1、首先要从几个地址拼接在一起,然后从中提取信息,城市、省份/State或者国家 ,因为这个地址中不一定包含省和国家

2、获得信息之后去哪里找对应关系,比如如果是个城市,如何找到所属国家

第一个问题的解决办法我想到2种。就是通常说的,Named Entity Recognition. 

方法一,用python 工具包geotext,  geotext介绍。 我刚开始计划用geograpy,但是安装2次都失败了。后来我的geotext更简单。 

可以看到获取国家和城市了。 

方法二、用结巴分词,然后根据词性获取。

可以看到这个里面获取的数据有很大的误差。 

解决第二个问题的办法是:

我在看到mysql有word.sql, 这个文件中包括了世界上国家、城市、State关系。

看这个地址还有这个地址

获取这个数据在本地本地建立数据库,然后用方案一获取的值去这个里面查询。

先从国家查,然后从state查询,最后从city查询。 

就可以获取到国家的ISO编码

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值