当您使用with时,文件只会在您的in范围内保持打开状态,当for row in reader:缩进错误时,您的文件将关闭,我在下面测试并得到please select year of study:import csv
LOAD_GEN_DATAFILE = 'C:\\Users\\Dirty-Santa\\Desktop\\blah.csv'
with open(LOAD_GEN_DATAFILE) as csvfile:
reader = csv.DictReader(csvfile)
mydict = {}
for row in reader:
Year=row['Year']
Busnum=row['Busnum']
Area=row['Area']
Power=row['Power']
TLA=row['TLA']
Location=row['Location']
Yearlink=row['Yearlink']
From=row['From']
To=row['To']
Max=row['Max']
Min=row['Min']
year = raw_input("Please Select Year of Study: ")
print("\n")
commands = ["Millwood-Buchanan", "Astoria-East-Corona", "Bronx", "DUNWOODIE-North-Sherman_Creek",
"Vernon", "Greenwood-StatenIsland","West_49th","East_13th","Staten_Island","East_River",
"East_View","DUNWOODIE-SOUTH","Corona-Jamaica","Astoria-East-Corona-Jamaica",
"Astoria-West-Queensbridge-Vernon","Astoria-West-Queensbridge"]
max_columns = 50
for index, commands in enumerate(commands):
stars_amount = max(max_columns - len(commands), 0)
row = "# {} {}({})".format(commands, "." * stars_amount, index + 1)
print(row)
location=raw_input(" \n The list above show the TLA Pockets as well as the ID numbers assigned to them ()\n\n Please enter the ID #: ")
print("\n")
if year in Year and location in Location:
mydict=(Busnum,Area,Power)
print("Here are all the busses at that location for that year and the new LOAD TOTAL: ")
print("\n")
#Busnum, busname,scaled_power read from excel sheet matching year and location
for Busnum,Area,Power in mydict:
Power= float(scaled_power)
Busnum = int(busnum)
print('Bus #: %d\t' % Busnum ,'Area Station: %s\t'% Area,'New Load Total: %d MW\t' % Power)
#API for changing and scaling generation of loads
#psspy.bsys(1,0,[0.0,0.0],0,[],1,[Busnum],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],[Power,0.0,0,-.0,0.0,-.0,0])
#print("\n")