有两个csvfiles,分别是08和09年的数据,里面含有schoolID和对应的studentnumber,现在想读出这些数据然后按照固定格式输出,并算出各个学校学生数据的增减情况。已经完成了读原始数据...
有两个csv files,分别是08和09年的数据,里面含有school ID和对应的student number, 现在想读出这些数据然后按照固定格式输出,并算出各个学校学生数据的增减情况。已经完成了读原始数据并将其写到dictionary里面。哪位高手能帮忙把剩下的写完?急着交。输出格式如图所示。08,09年的数据也如截图所示。
import string, sys
def exists(filename):
try:
f = open(filename)
f.close()
return True
except IOError: #an bulid-in exception in Python
return False
def ReadInTextFile(filename):
f = open(filename, 'r')
strInput = f.read()
return strInput
def StrToDic(strInput):
list = string.split(strInput, ',')
dic = {}
i = 0
while i < len(list):
if (i%2 == 0):
key = list[i]
else:
val = list[i]
dic[int(key)] = float(val)
i = i + 1
return dic
def PrintDic(dic):
for (key, val) in dic.items():
print "%-5d %8.2f" %(key, val)
filename08 = 'C:\Users\zihan\Desktop\python\ch11_assignment_prob2_2008.csv'
filename09 = 'C:\Users\zihan\Desktop\python\ch11_assignment_prob2_2009.csv'
if exists(filename08):
mystr08 = ReadInTextFile(filename08)
mydic08 = StrToDic(mystr08)
PrintDic(mydic08)
else:
print 'File '+filename08+' does not exists.'
if exists(filename09):
mystr09 = ReadInTextFile(filename09)
mydic09 = StrToDic(mystr09)
PrintDic(mydic09)
else:
print 'File '+filename09+' does not exists.'
展开