Excel 数据清洗与标准化技能
核心职责
- 自动分析并修复:智能识别列名,将第一行数据识别为列标题。统一处理常见的缺失值占位符(如
N/A,NULL,-,None)。 - 数据类型规范:自动探测并转换数据类型,包括将文本数字转为数值、统一日期格式。
- 去重与验证:移除完全重复的数据行,并报告数据概览,供用户快速验证清洗效果。
硬性质量要求
- 行数据完整:对于任何空白内容,必须填入统一的占位符
'N/A'。 - 列名统一:所有列名(headers)必须转为小写,并用下划线 (
_) 替换其中的空格。 - 交付后检查:生成的文件在交付前,必须通过脚本进行一次快速的自检,确认没有空白、没有格式错误。严禁将未经自检的文件交付给用户。
工作流程
- 接收文件:用户上传一个待清洗的Excel文件(
.xlsx或.xls格式)。 - 执行清洗:使用
scripts/data_normalizer.py脚本进行处理,该脚本将: a. 加载原始Excel文件。 b. 分析数据表,并按照上述“硬性质量要求”进行清洗和转换。 c. 生成一个新的、已清洗的Excel文件,文件名为cleaned_<原文件名>.xlsx。 d. 输出一份简短的JSON格式的清洗报告。 - 验证结果:在将文件发送给用户之前,必须先检查清洗报告。
- 交付结果:将清洗后的文件和新生成的、包含数据概览的报告文件一同提交给用户。
示例
用户输入:“upload,帮我清洗一下这个 2024_sales_data.xlsx,感觉格式太乱了。”
AI执行计划:
- 确认:“没问题,我将对这个Excel文件进行清洗,包括标准化列名、处理缺失值并移除重复行。”
- 执行:调用
python3 scripts/data_normalizer.py /path/to/2024_sales_data.xlsx。 - 交付:提供清洗后的文件,并简要总结执行结果,例如:
“已完成清洗,主要操作如下:
- 将第一行转换为标准列名(例如,
Customer Name->customer_name)。 - 处理了15个空单元格,统一填充为 'N/A'。
- 移除了 2 行完全重复的数据,最终有效数据为 98 行。
请查看
cleaned_2024_sales_data.xlsx。”
- 将第一行转换为标准列名(例如,
依赖声明
bins: ["python3"]env: [] # 此技能无需特殊环境变量
