【即是过客】日常分享003 之 一键拆分收件地址省市区,支持自动补充完整信息
评论
收藏

【即是过客】日常分享003 之 一键拆分收件地址省市区,支持自动补充完整信息

经验分享
即是过客
2025-07-12 08:40·浏览量:825
即是过客
影刀专家
影刀认证工程师
发布于 2025-06-01 11:15更新于 2025-07-12 08:40825浏览

___ጿ ኈ ቼ ዽ ጿ   一键拆分收件信息   ጿ ኈ ቼ ዽ ጿ___



一键拆分收件信息,将姓名、手机号、省、市、区、全部自动识别拆分,输出json

支持自动补充缺失的省/市,支持虚拟号码带4位分机号 偷笑

原理:利用Python库JioNLP自动识别提取


使用示例:

示例一:

完整的收件信息

传入收件信息:

过客 13333333333 湖北省武汉市洪山区A街道某小区B栋2楼

输出结果:

{'name': '过客', 'phone': '13333333333', 'address': {'province': '湖北省', 'city': '武汉市', 'county': '洪山区', 'detail': 'A街道某小区B栋2楼', 'full_location': '湖北省武汉市洪山区A街道某小区B栋2楼', 'orig_location': '过客 13333333333 湖北省武汉市洪山区A街道某小区B栋2楼'}}


示例二:

缺少省和市的收件信息

传入收件信息:

过客 13333333333 武昌区A街道某小区B栋2楼

输出结果:

{'name': '过客', 'phone': '13333333333', 'address': {'province': '湖北省', 'city': '武汉市', 'county': '武昌区', 'detail': 'A街道某小区B栋2楼', 'full_location': '湖北省武汉市武昌区A街道某小区B栋2楼', 'orig_location': '过客 13333333333 武昌区A街道某小区B栋2楼'}}



Python代码:

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import re
import jionlp as jio

def main(收件信息: str) -> dict:

    result = {}

    # 使用正则表达式匹配姓名和多格式手机号
    name_pattern = r"([\u4e00-\u9fa5]+)"
    phone_pattern = r"(\d{11}(?:-\d{4})?)"
    
    # 提取姓名
    name_match = re.search(name_pattern, 收件信息)
    result["name"] = name_match.group(1) if name_match else None
    
    # 提取电话号码
    phone_match = re.search(phone_pattern, 收件信息)
    result["phone"] = phone_match.group(1) if phone_match else None
    
    # 解析地址信息
    try:
        parse_result = jio.parse_location(收件信息)
        result["address"] = parse_result
    except Exception as e:
        print(f"解析地址信息时发生错误: {e}")
        result["address"] = None

    return result

创建为自定义指令:

新建py,在主流程中设置流程参数,并调用模块传参即可



收藏6
全部评论1
最新
发布评论
评论