字符串智能解析,解析省市区、姓名、电话
Project description
地址解析识别python版本
项目基于JioNLP 地址解析来进行地址识别
地址库:2020年国家统计局行政区划
基于结巴分词 提供的分词以及语义化分析进行姓名识别
基于Levenshtein 字符串相似度算法来进行详细地址过滤
依赖下载
python支持版本:>=3.8
pip3 install addressrec
使用
直接运行
import addressrec
print(addressrec.run('王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号', True, False))
# addressrec(text, town_village, town_village)
# "text":"王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号",
# "town_village": True, //可不传默认True 指定参数town_village(bool),可获取乡镇、村、社区两级详细地名
# "change2new": False //可不传默认True 指定参数change2new(bool)可自动将旧地址转换为新地址
返回结果:
{
"city": "乌鲁木齐市",
"county": "沙依巴克区",
"detail": "西虹东路463号",
"name": "王志超",
"phone": "029-68216000",
"province": "新疆维吾尔自治区",
"town": "",
"village": ""
}
封装为接口调用:
# pip3 install flask
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/smart_address', methods=['POST'])
def handle_smart_address():
data = request.get_json()
text = data.get('text', '')
town_village = data.get('town_village', True)
change2new = data.get('change2new', False)
result = smart_address(text, town_village, change2new)
if result:
return jsonify(result)
else:
return jsonify({"error": "Failed to process the request"}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3000)
#URL: `http://127.0.0.1:3000/smart_address`
#METHOD: 'POST'
#BODY:
#{
# "text":"王志超029-68216000新疆维吾尔自治区乌鲁木齐市沙依巴克区西虹东路463号",
# "town_village": true, //可不传默认true 指定参数town_village(bool),可获取乡镇、村、社区两级详细地名
# "change2new": false //可不传默认false 指定参数change2new(bool)可自动将旧地址转换为新地址
#}
识别结果测试
广东省珠海市香洲区盘山路28号幸福茶庄,陈景勇,13593464918 识别结果:
{'city': '珠海市',
'county': '香洲区',
'detail': '盘山路28号幸福茶庄,,',
'name': '陈景勇',
'phone': '13593464918',
'province': '广东省',
'town': '',
'village': ''}
-----------------
马云,陕西省西安市雁塔区丈八沟街道高新四路高新大都荟 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟',
'name': '马云',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
陕西省西安市雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
西安市雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
雁塔区丈八沟街道高新四路高新大都荟710061 刘国良 13593464918 识别结果:
{'city': '西安市',
'county': '雁塔区',
'detail': '高新四路高新大都荟710061',
'name': '刘国良',
'phone': ' 13593464918',
'province': '陕西省',
'town': '丈八沟街道',
'village': ''}
-----------------
收货人: 李节霁手机号码: 15180231234所在地区: 浙江省金华市婺城区西关街道详细地址: 金磐路上坞街 识别结果:
{'city': '金华市',
'county': '婺城区',
'detail': '详细地址: 金磐路上坞街',
'name': '李节',
'phone': ' 15180231234',
'province': '浙江省',
'town': '西关街道',
'village': ''}
-----------------
收货人: 马云手机号码: 150-3569-6956详细地址: 河北省石家庄市新华区中华北大街68号鹿城商务中心6号楼1413室 识别结果:
{'city': '石家庄市',
'county': '新华区',
'detail': '中华北大街68号鹿城商务中心6号楼1413室',
'name': '马云',
'phone': ' 150-3569-6956',
'phone1': '150-3569-6956',
'province': '河北省',
'town': '',
'village': ''}
-----------------
LICENSE:Apache License
IDE:致谢JetBrains为本项目提供免费license支持
联系我,欢迎交流
qq交流群
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for addressrec-0.0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e17b00a5aa1b54a8e2d6ed8bc1f87000b7dc1a9a9a585d7cd77d6a479eaddfc8 |
|
MD5 | db0da0b60f7891e74c2adedb6fbb8093 |
|
BLAKE2b-256 | 44a1fc5ec344c9cd8b8e1ed747f208d0264e649bdd79d6ee7a4d416a607db73c |