Ich erhalte beim Lesen von meinem CSV-Blatt einen ganzzahligen Fehler. Es gibt mir Probleme beim Lesen der letzten Spalte. Ich kenne die Zeichen in der letzten Spalte, aber wie definiere ich digit
als ein Zeichen. Die API-Funktion psspy.two_winding_chg_4
erfordert eine Eingabe unter Verwendung Hochkommata ' '
wie in dieser Funktion (3. Element des Arrays)Variable in einfache Anführungszeichen setzen
Traceback (most recent call last):
File "C:\Users\RoszkowskiM\Desktop\win4.py", line 133, in <module>
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],[])
File ".\psspy.py", line 25578, in two_winding_chng_4
TypeError: an integer is required
ValueError: invalid literal for int() with base 10: 'T1'
Der Code unten gezeigt:
for row in data:
data_location, year_link, from_, to, min_value,max_value,name2,tla_2,digit = row[5:14]
output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t'
if year_link == year and data_location == location and tla_2==location:
from_=int(from_)
to=int(to)
min_value=float(min_value)
max_value=float(max_value)
digit=int(digit)
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],[])
'T1' ist eine Zeichenkette. Sie müssen das "T" entfernen, um es zu einem int zu übertragen. In diesem Fall können Sie einfach das letzte Element dieser Zeichenfolge verwenden. 'int (Element [-1])' – Alex