Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import collections
- import datetime
- csvfile = open('data-2016.csv', 'rb')
- csv_reader = csv.reader(csvfile, delimiter=' ', quotechar='"')
- student_sequence = []
- course_credit = {}
- for row in csv_reader:
- student = []
- student.append(row[0])
- month_courses = {}
- for i in range(2, len(row), 5):
- month = row[i-1]
- course = row[i]
- grade = row[i+3]
- credit = row[i+2]
- course_credit[course] = credit
- if (month not in month_courses):
- month_courses[month] = []
- if (grade > 0):
- month_courses[month].append(course)
- else:
- if (grade > 0):
- month_courses[month].append(course)
- student.append(collections.OrderedDict(sorted(month_courses.items())))
- student_sequence.append(student)
- # for student in student_sequence:
- # print student
- # for cg in course_credit.items():
- # print cg
- def bachelors(data_set):
- num = 0
- basicCouse = set(['581325','581328','582102','582103','582104'])
- for student in data_set:
- individual_courses = set()
- total_credits = 0
- year = student[0]
- bachelor_date = ''
- for courses in student[1].items():
- for c in courses[1]:
- if (c not in individual_courses):
- individual_courses.add(c)
- total_credits += float(course_credit[c])
- if (c == '582204'):
- bachelor_date = courses[0]
- #if ('582204' in individual_courses and total_credits >= 180):
- #print 'This lucky student started studies in {}, completed bachelors in {} and has {} credits'.format(year, bachelor_date, total_credits)
- #num += 1
- if(basicCouse.issubset(individual_courses)):
- num += 1
- print num
- def timeSpan(data_set):
- num = 0
- basicCouse = set(['581325','581328','582102','582103','582104'])
- for student in data_set:
- individual_courses = set()
- total_credits = 0
- year = student[0]
- course_date = ''
- for courses in student[1].items():
- for c in courses[1]:
- if (c not in individual_courses):
- individual_courses.add(c)
- total_credits += float(course_credit[c])
- course_date = courses[0]
- print course_date
- #if (c == '582204'):
- #startYear = datetime.datetime.strptime(year,'%Y')
- #endYear = datetime.datetime.strptime(course_date,'%Y-%m')
- #print endYear - startYear
- if(basicCouse.issubset(individual_courses)):
- startYear = datetime.datetime.strptime(year,'%Y')
- endYear = datetime.datetime.strptime(course_date,'%Y-%m')
- #print endYear - startYear
- # num += 1
- # print num
- timeSpan(student_sequence)
- #bachelors(student_sequence)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement