Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. import csv
  2. import collections
  3. import datetime
  4.  
  5. csvfile = open('data-2016.csv', 'rb')
  6. csv_reader = csv.reader(csvfile, delimiter=' ', quotechar='"')
  7.  
  8. student_sequence = []
  9. course_credit = {}
  10.  
  11. for row in csv_reader:
  12. student = []
  13. student.append(row[0])
  14. month_courses = {}
  15. for i in range(2, len(row), 5):
  16. month = row[i-1]
  17. course = row[i]
  18. grade = row[i+3]
  19. credit = row[i+2]
  20. course_credit[course] = credit
  21. if (month not in month_courses):
  22. month_courses[month] = []
  23. if (grade > 0):
  24. month_courses[month].append(course)
  25. else:
  26. if (grade > 0):
  27. month_courses[month].append(course)
  28. student.append(collections.OrderedDict(sorted(month_courses.items())))
  29. student_sequence.append(student)
  30.  
  31. # for student in student_sequence:
  32. # print student
  33.  
  34. # for cg in course_credit.items():
  35. # print cg
  36.  
  37. def bachelors(data_set):
  38. num = 0
  39. basicCouse = set(['581325','581328','582102','582103','582104'])
  40. for student in data_set:
  41. individual_courses = set()
  42. total_credits = 0
  43. year = student[0]
  44. bachelor_date = ''
  45. for courses in student[1].items():
  46. for c in courses[1]:
  47. if (c not in individual_courses):
  48. individual_courses.add(c)
  49. total_credits += float(course_credit[c])
  50. if (c == '582204'):
  51. bachelor_date = courses[0]
  52. #if ('582204' in individual_courses and total_credits >= 180):
  53. #print 'This lucky student started studies in {}, completed bachelors in {} and has {} credits'.format(year, bachelor_date, total_credits)
  54. #num += 1
  55. if(basicCouse.issubset(individual_courses)):
  56. num += 1
  57. print num
  58.  
  59. def timeSpan(data_set):
  60. num = 0
  61. basicCouse = set(['581325','581328','582102','582103','582104'])
  62. for student in data_set:
  63. individual_courses = set()
  64. total_credits = 0
  65. year = student[0]
  66. course_date = ''
  67. for courses in student[1].items():
  68. for c in courses[1]:
  69. if (c not in individual_courses):
  70. individual_courses.add(c)
  71. total_credits += float(course_credit[c])
  72. course_date = courses[0]
  73. print course_date
  74. #if (c == '582204'):
  75. #startYear = datetime.datetime.strptime(year,'%Y')
  76. #endYear = datetime.datetime.strptime(course_date,'%Y-%m')
  77. #print endYear - startYear
  78. if(basicCouse.issubset(individual_courses)):
  79. startYear = datetime.datetime.strptime(year,'%Y')
  80. endYear = datetime.datetime.strptime(course_date,'%Y-%m')
  81. #print endYear - startYear
  82.  
  83.  
  84.  
  85.  
  86. # num += 1
  87. # print num
  88.  
  89. timeSpan(student_sequence)
  90. #bachelors(student_sequence)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement