是代码的一部分,其中从excel文件读取数据并将其传输到psspy
函数。我收到有关_i
的错误
并且_f
不是变量。但是我通过在PSSE
上运行ibdev来收到此代码。有没有办法改变这一点,以消除错误。我尝试使用API的默认变量,但它也不起作用。同样对于数组中的第三个元素,我试图将一个变量放入一个字符串中,这样它就可以遍历我的Excel工作表中的多个字符。这是正确的做法吗?附件是此特定功能和功能的API。
for row in data:
data_location, year_link, from_, to, max_value, min_value,digit = row[5:12]
output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t'
if year_link == year and data_location == location:
print(output.format(from_, to, max_value, min_value))
psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[])
答案 0 :(得分:0)
_i,_f和_s分别是默认的int,float和string值的占位符。 PSSE API文档在澄清这一点方面做得不是很好,但这些默认值允许您自定义特定的函数参数,而无需为每个参数赋值。
最简单的解决方案是导入以下内容:
from psspy import _i
from psspy import _f
from psspy import _s
或者,您可以添加以下行:
for row in data:
data_location, year_link, from_, to, max_value, min_value,digit = row[5:12]
output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t'
if year_link == year and data_location == location:
print(output.format(from_, to, max_value, min_value))
_i = psspy.getdefaultint()
_f = psspy.getdefaultreal()
psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[])
我不知道_s的调用,但很少在API函数中使用。希望这会有所帮助。