grapher/assets/convert.py

68 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-01-08 11:38:31 +01:00
import pandas as pd
import pprint
import sys
2025-02-14 13:34:31 +01:00
sys.path.append('../grapher/dbmodel')
2025-01-08 11:38:31 +01:00
from model import *
2025-02-14 13:34:31 +01:00
from utils import *
2025-01-08 11:38:31 +01:00
df = pd.read_csv("Student_list.csv")
2025-01-24 12:33:03 +01:00
df = df.dropna()
2025-01-08 11:38:31 +01:00
courses = {
'Tutorial 1': 31,
'Tutorial 2': 15,
'Extended Applications': 18,
'Numpy & MatPlotLib': 35,
'SciPy': 20,
'Monte Carlo': 20,
'Pandas & Seaborn': 22,
2025-01-24 12:33:03 +01:00
'Folium': 27,
'Statistical Test Methods': 24,
'Data Analysis': 30
2025-01-08 11:38:31 +01:00
}
2025-01-31 14:34:57 +01:00
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"
}
2025-01-24 12:33:03 +01:00
print(df)
2025-02-14 13:34:31 +01:00
init_db('WiSe_24_25.db')
2025-01-24 12:33:03 +01:00
2025-01-08 11:38:31 +01:00
# 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)
2025-01-31 14:34:57 +01:00
for k, v in groups.items():
Group.create(name=k, project=v, class_id=clas.id)
2025-01-08 11:38:31 +01:00
for index, row in df.iterrows():
s = Student.create(
prename=row["First Name"],
surname=row["Last Name"],
sex=row["Sex"],
2025-01-31 14:34:57 +01:00
class_id=clas.id,
2025-02-07 14:44:03 +01:00
group_id=Group.select().where(Group.name == row["Group"]),
2025-02-14 13:34:31 +01:00
grader=row["Grader"],
residence_id=-1
2025-01-08 11:38:31 +01:00
)
2025-02-07 14:44:03 +01:00
for title, points in list(row.to_dict().items())[5:]:
2025-01-08 11:38:31 +01:00
Submission.create(
student_id=s.id,
lecture_id=Lecture.select().where(Lecture.title == title),
points=points
)
2025-01-24 12:33:03 +01:00