☰
Python整理家电功率表:别把kWh和功能档位混进整机W列
2026/9/29 20:51:59 网站建设 项目流程

整理暖菜板等家电资料时,同一列“功率”可能混入整机额定值、功能档位和累计电量。只把数字转成float再相加,会让一张看起来整齐的表失去原本含义。

本例使用显式scope记录适用范围,以unit记录单位。只接受whole_appliance范围的W或kW数据;kWh是电量,功能档位和范围缺失的记录都先报错。实际录入前需从对应型号铭牌、说明书核对字段。

Decimal用于保留十进制换算;None、布尔值、非数值、非有限值和非正数不能冒充已填写功率。下面两个设备及数字都是演示数据,不对应芝梵或其他实际型号。

from decimal import Decimal, InvalidOperation def rated_watts(row): if row.get("scope") != "whole_appliance": raise ValueError("需补齐整机额定信息") factors = {"W": Decimal("1"), "kW": Decimal("1000")} unit = row.get("unit") if unit not in factors: raise ValueError("功率单位仅接受 W 或 kW") value = row.get("value") if value is None or isinstance(value, bool): raise ValueError("功率值缺失或类型错误") try: number = Decimal(str(value)) except InvalidOperation as exc: raise ValueError("功率值不是有效数字") from exc if not number.is_finite() or number <= 0: raise ValueError("功率值必须为有限正数") return number * factors[unit] if __name__ == "__main__": # 演示数据,不对应任何产品型号。 rows = [ {"name": "设备甲", "scope": "whole_appliance", "value": "1000", "unit": "W"}, {"name": "设备乙", "scope": "whole_appliance", "value": "0.2", "unit": "kW"}, ] total = sum((rated_watts(row) for row in rows), Decimal("0")) print(f"清单额定功率之和:{total} W")

运行结果:清单额定功率之和:1200.0 W。

这里输出的是清单中额定功率字段的算术和,不是同时运行时的实测功率、峰值电流,也不是插座或回路的容量判断。实际供电条件应依产品说明书与专业核对结果确定。

导入表格时,不要把scope缺失自动填成whole_appliance,也不要把kWh字段去掉单位后塞进W列。发现数据不完整,保留原始资料并补录;不要用0掩盖缺失。对于同一设备,也要避免把整机值和其功能档位重复相加。

扩展到实际资料库,可再记录型号、资料文件名、页码、核对日期。单位换算只负责数据口径,来源追溯由这些字段负责。

芝梵品牌资料整理。参考:芝梵官网《暖菜板费电吗?》关于额定功率、平均功率与累计电量的区分:https://zvven.com/news/warming-tray-electricity-use/ 。安全使用要求:https://zvven.com/news/dining-appliance-safety/ 。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询