I am receiving an error at the end of my code when trying to load the information into PSSE. My goal is once all the data was organized how I wanted, the next step was to use that organized data and import it to PSSE. Everything before that works but once I use a PSSE API, nothing works. I get this error: psspy.bsys(1,0,[0.0,0.0],0,[],1,[bus],0,[],0,[]) File ".\\psspy.py", line 46020, in bsys TypeError: an integer is required.
import os, sys
PSSE_LOCATION = r"C:\Program Files (x86)\PTI\PSSE33\PSSBIN"
sys.path.append(PSSE_LOCATION)
os.environ['PATH'] = os.environ['PATH'] + ';' + PSSE_LOCATION
import psspy
import redirect
import csv
psspy.throwPsseExceptions = True
from Tkinter import *
import tkFileDialog
import tkSimpleDialog
import tkMessageBox
STUDY_CASE = 'C:\Users\RoszkowskiM\Documents\Cases\Final\ceii_Case1_SUM_2017_5050_MMWG16PF_FINAL.sav'
LOAD_GEN_DATAFILE = 'C:\Users\RoszkowskiM\Documents\CSV Files\ASTECOR_TLA.csv'
psspy.psseinit(10000)
psspy.case(STUDY_CASE)
data = list(csv.reader(open(LOAD_GEN_DATAFILE)))
mydict = {}
for row in data:
year,location,bus,change,isload = row[0:5]
# convert the types from string to Python numbers
change= float(change)
bus = int(bus)
#If this is a year not seen before, add it to the dictionary
if year not in mydict:
mydict[year] = {}
busses_in_year = mydict[year]
if location not in busses_in_year:
busses_in_year[location] = []
#Add the bus to the list of busses that stop at this location
busses_in_year[location].append((bus, change,isload))
# assume CSV has columns as described in the doc string
year = raw_input("Select Year of Study: ")
location = raw_input(" Select the number associated to the TLA Pocket Location:")
if year in mydict and location in mydict[year]:
busses_in_year = mydict[year]
print("Here are all the busses at that location for that year: ")
for bus in busses_in_year[location]:
print(bus)
else:
print("Invalid Year or Location")
if isload.isdigit() and int(isload):
psspy.bsys(1,0,[0.0,0.0],0,[],1,[bus],0,[],0,[])
psspy.scal_2(1,0,1,[0,0,0,0,0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0])
psspy.scal_2(0,1,2,[0,1,0,1,0],[change,0.0,0,-.0,0.0,-.0,0])
for bus in busses_in_year[location]:
print(bus)
What does this print? From the previous code I think bus
is actually a tuple
:
busses_in_year[location].append((bus, change, isload))
When you call bsys
with [bus]
it is using the last value of bus
after looping through busses_in_year[location]
. The function bsys
expects an integer, but you're giving it the full tuple
.
I'm not sure how to fix your code as it might not make sense to just take the last bus in the year, so you probably need to fix that first.
But if you want to properly unpack the tuple
(bus, change, isload)
you can do the following:
for bus, change, isload in busses_in_year[location]:
print(bus)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.