我和f不是变量。将变量存储到字符串中

时间:2017-08-15 19:16:21

标签: python

下面的

是代码的一部分,其中从excel文件读取数据并将其传输到psspy函数。我收到有关_i的错误 并且_f不是变量。但是我通过在PSSE上运行ibdev来收到此代码。有没有办法改变这一点,以消除错误。我尝试使用API​​的默认变量,但它也不起作用。同样对于数组中的第三个元素,我试图将一个变量放入一个字符串中,这样它就可以遍历我的Excel工作表中的多个字符。这是正确的做法吗?附件是此特定功能和功能的API。API 1 API 2 API 3

    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],[])

1 个答案:

答案 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函数中使用。希望这会有所帮助。