68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
import pandas as pd
|
|
import pprint
|
|
import sys
|
|
sys.path.append('../grapher/dbmodel')
|
|
from model import *
|
|
from utils import *
|
|
|
|
df = pd.read_csv("Student_list.csv")
|
|
df = df.dropna()
|
|
courses = {
|
|
'Tutorial 1': 31,
|
|
'Tutorial 2': 15,
|
|
'Extended Applications': 18,
|
|
'Numpy & MatPlotLib': 35,
|
|
'SciPy': 20,
|
|
'Monte Carlo': 20,
|
|
'Pandas & Seaborn': 22,
|
|
'Folium': 27,
|
|
'Statistical Test Methods': 24,
|
|
'Data Analysis': 30
|
|
}
|
|
|
|
groups = {
|
|
"NoGroup": "No Project",
|
|
"MeWi1": "Covid-19",
|
|
"MeWi2": "Covid-19",
|
|
"MeWi3": "Discovery of Handwashing",
|
|
"MeWi4": "Uber Trips",
|
|
"MeWi5": "Extramarital Affairs",
|
|
"MeWi6": "Hochschulstatistik",
|
|
"DiKum": "Facebook Data"
|
|
}
|
|
|
|
print(df)
|
|
init_db('WiSe_24_25.db')
|
|
|
|
|
|
# Create Class
|
|
clas = Class.create(name='WiSe 24/25')
|
|
#print(clas.id)
|
|
|
|
# Create Courses
|
|
for k, v in courses.items():
|
|
Lecture.create(title=k, points=v, class_id=clas.id)
|
|
#print(l.title, l.points, l.class_id, l.id)
|
|
|
|
for k, v in groups.items():
|
|
Group.create(name=k, project=v, class_id=clas.id)
|
|
|
|
for index, row in df.iterrows():
|
|
s = Student.create(
|
|
prename=row["First Name"],
|
|
surname=row["Last Name"],
|
|
sex=row["Sex"],
|
|
class_id=clas.id,
|
|
group_id=Group.select().where(Group.name == row["Group"]),
|
|
grader=row["Grader"],
|
|
residence_id=-1
|
|
)
|
|
|
|
for title, points in list(row.to_dict().items())[5:]:
|
|
Submission.create(
|
|
student_id=s.id,
|
|
lecture_id=Lecture.select().where(Lecture.title == title),
|
|
points=points
|
|
)
|
|
|