扣子机器人中可通过自研插件实现轻量级数据清洗:基于coze-plugin-sdk开发clean_text插件,支持字符串/字典输入的空格清理、手机号正则提取、dateutil自动解析日期、jieba分词匹配地址品牌,并严格按plugin.yaml定义i/o schema。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在扣子(Coze)机器人中快速处理用户提交的原始文本或表格数据,比如去除空格、提取手机号、识别日期格式、标准化地址字段——但又不想调用外部API或部署完整ETL服务。
准备开发环境与基础插件结构
安装 Python 3.9+ 和 coze-plugin-sdk(v0.3.0+),创建 plugin.yaml 文件定义插件元信息。
执行 coze-plugin init --name clean_text,自动生成目录结构:plugin.yaml、main.py、requirements.txt。
修改 plugin.yaml 中 【type: function_call】,确保插件可被 Bot 直接调用;若设为 web_api,则无法在工作流中作为节点使用。
编写核心清洗逻辑函数
在 main.py 中定义 clean_data 函数,接收 input 字段(str 或 dict),返回标准化后的 dict。
对字符串输入:先 strip() 去首尾空白,再用 re.sub(r'\s+', ' ', text) 合并中间多余空格——不这样做会导致后续分词错位或地址拼接异常。
对字典输入:遍历 key,对 value 类型做分支处理——字符串走清洗链,数字保留原值,列表则递归清洗每个元素。
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
提取常用特征值的三种方法
方法一:正则硬匹配(适合结构化强的数据)
用 re.findall(r'1[3-9]\d{9}', text) 提取手机号;注意必须加 r 前缀,否则 \d 不会被识别为数字符。
方法二:dateutil.parser 自动识别(适合自然语言日期)
from dateutil import parser → parser.parse("昨天下午3点", default=datetime.now()) → 返回 datetime 对象;【default 参数不可省略,否则遇到“下周三”会抛 ValueError】。
方法三:jieba 分词 + 实体关键词过滤(适合地址/品牌名提取)
先 jieba.lcut(text),再比对预置词表(如 ['北京市', '朝阳区', '苹果']),命中即加入 features['location'] 或 features['brand'];这一步不能依赖 TF-IDF,轻量级场景下规则匹配更快更稳。
配置插件输入输出 Schema
第一步:在 plugin.yaml 的 inputs 下声明:
- name: input
type: string
required: true
description: "原始文本或 JSON 字符串"
第二步:outputs 定义清晰字段:
- name: cleaned_text
type: string
- name: phone_numbers
type: array
items: { type: string }
- name: extracted_date
type: string
format: date-time
第三步:确保 outputs 中每个字段名与 main.py 返回 dict 的 key 完全一致,大小写敏感,否则 Bot 解析时字段丢失。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










