You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pvlib调用CEC库光伏组件与逆变器遇KeyError的解决方法

解决CEC组件/逆变器调用KeyError的方案

先找数据库里的精确键名

CEC数据库返回的组件、逆变器名称,和官网显示的格式经常不一样——比如空格变下划线、特殊符号被处理、多了版本后缀之类的,直接抄官网名称肯定会报错。用下面的代码搜出数据库里的真实键名:

查组件的精确名称

modules = pvlib.pvsystem.retrieve_sam('CECMod')
# 筛选包含Trina和TSM-595DE20的条目
matched_modules = [name for name in modules.columns if 'Trina' in name and 'TSM-595DE20' in name]
print(matched_modules)

运行后会输出所有匹配的组件名,直接拿这个输出的字符串当键用就行。

查逆变器的精确名称

inverters = pvlib.pvsystem.retrieve_sam('CECInverter')
# 筛选包含Growatt和33000TL3-US的条目
matched_inverters = [name for name in inverters.columns if 'Growatt' in name and '33000TL3-US' in name]
print(matched_inverters)

同样,把输出的结果替换你代码里的逆变器键名。

替换代码里的键名

举个例子,假设上面的代码输出组件名是'Trina_Solar_TSM_595DE20_II',逆变器名是'Shenzhen_Growatt_New_Energy_Co_Ltd__GROWATT_33000TL3-US_480V_',就把代码改成:

module = modules['Trina_Solar_TSM_595DE20_II'] 
inverter = inverters['Shenzhen_Growatt_New_Energy_Co_Ltd__GROWATT_33000TL3-US_480V_'] 

常见格式差异提示

  • 空格会被替换成下划线_,冒号、方括号这类特殊符号可能被去掉或者换成下划线
  • 公司名称里的连字符可能会被保留或替换,具体以数据库实际存储为准
  • 部分组件会在名称末尾加版本标识,比如_II、_V2

内容的提问来源于stack exchange,提问作者Luis Enrique Orozco Villanueva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 15:47:35