certflow.handlers.data_cleaner module¶
数据清洗处理器模块
提供销售计划数据的清洗和校验功能,包括字符串清理、 数量字段规范化、订单号去特殊字符、统一空值处理等.
- class certflow.handlers.data_cleaner.DataCleaner[源代码]¶
基类:
object数据清洗器
提供销售计划数据的清洗和校验功能. 负责处理原始导入数据中的格式问题、空值处理和字段规范化.
- DATE_FIELDS¶
日期字段列表,定义需要规范化的日期字段名称
- DATE_FIELDS = ['plan_date', 'planned_delivery_date', 'contract_delivery_date']¶
- static clean_sale_plan(df)[源代码]¶
清洗销售计划数据
对原始导入的 DataFrame 执行标准化清洗:去除字符串首尾空格、 规范化日期字段、清洗订单号特殊字符、数值/文本字段规范化, 并对销售计划日期填充当月默认值。
- 参数:
df (DataFrame) -- 原始销售计划 DataFrame,列应为字符串或数值类型
- 返回:
清洗后的 DataFrame(字段已规范化,空值填充为【空白】标记)
- 返回类型:
pd.DataFrame
示例
>>> import pandas as pd >>> df = pd.DataFrame({ ... "product_model": [" 阀门A ", ""], ... "order_no": ["PO-001", "PO/002"], ... "quantity": ["10", "5"], ... }) >>> cleaned = DataCleaner.clean_sale_plan(df) >>> cleaned["product_model"][0] "阀门A"
- static validate_data(row)[源代码]¶
校验单条数据
检查数据行中产品型号是否为空、数量是否大于0.
- 参数:
- 返回:
- 校验结果元组
第一个元素: 是否通过校验,True表示通过,False表示不通过
第二个元素: 校验结果描述信息,通过时返回"校验通过"
- 返回类型:
示例
>>> row = {"product_model": "阀门A", "quantity": 10} >>> is_valid, message = DataCleaner.validate_data(row) >>> print(is_valid) True >>> >>> row = {"product_model": "", "quantity": 5} >>> is_valid, message = DataCleaner.validate_data(row) >>> print(message) "产品型号不能为空"