簡體   English   中英

功能所需的整數

[英]Integer Required for Function

代碼中的錯誤是

psspy.three_wnd_winding_data_3(from_,to,last_bus,r"""1""",1,[_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f]) 

TypeError: an integer is required 

我以為我已經將字符串轉換為整數。 我很困惑。 由於其他變量year_linktla_2min_valuemax_value沒有要求我使用isinstanceisdigit 變量將被傳輸到psspy函數數組中。 該錯誤表明,它正在讀取last_bus的字符串值。 有誰知道如何解決此問題,並可以向我解釋為什么我必須為excel工作表的最后一列轉換字符串。 Excel表格

for row in data:
     year_link, from_,to,digit,name2,tla_2,min_value,max_value,last_bus = row[7:16]
     if isinstance(last_bus, str) and year_link==year and tla_2==location and last_bus.isdigit() is True:
         min_value=float(min_value)
         max_value=float(max_value)
         last_bus=int(last_bus)

         output = 'From Bus #: {}\tTo Bus #: {}\tLast Bus #: {}\t Area Station: {}\t VMIN: {} pu\tVMAX: {} pu\t'
         print(output.format(from_, to,last_bus,name2, min_value, max_value))
         print("\n")
         psspy.three_wnd_winding_data_3(from_,to, last_bus,r"""1""",1,[_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f]) 
     else:
         exit

Excel沒有整數數據類型。 因此from_to實際上可能是python中的float對象。

記錄宏功能提供的格式將參數發送到psspy函數容易出錯。 以下使用關鍵字參數的方法更好:

psspy.three_wnd_winding_data_3(
    ibus=int(from_),              # H winding bus
    jbus=int(to),                 # X winding bus
    kbus=int(last_bus),           # Y winding bus
    ckt='1',                      # circuit ID
    warg=1,                       # winding number
    realari9=float(max_value),    # VMAi
    realari10=float(min_value),   # VMIi
)    

在這里讀取文檔字符串至關重要。 您可以閱讀API文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM