Add new scripts for processing exam groups and updating schedules; refactor existing code
This commit is contained in:
32
eindwerken ma controle/eindwerken controle/main.py
Normal file
32
eindwerken ma controle/eindwerken controle/main.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import pandas as pd
|
||||
import openpyxl
|
||||
|
||||
|
||||
|
||||
|
||||
sisa_file = pd.read_excel("sisa file.xlsx", sheet_name="Sheet1")
|
||||
reinoud_file = pd.read_excel("reinoud file.xlsx", sheet_name="Sheet1")
|
||||
|
||||
|
||||
sisa_file["Promotor"] = sisa_file["Promotor"].str.rsplit(" ", n=1).str[0]
|
||||
|
||||
sisa_file["Full Name"] = sisa_file["Achternaam"] + " " + sisa_file["Voornaam"]
|
||||
|
||||
# Step 3: Check if the Full Name exists in the Naam column of the reinoud file
|
||||
merged = sisa_file.merge(reinoud_file, left_on="Full Name", right_on="Naam", how="inner")
|
||||
|
||||
# Step 4: Find divergent Promotor values
|
||||
divergent_promotors = merged[merged["Promotor_x"] != merged["Promotor_y"]]
|
||||
|
||||
# Step 5: Check if Assessor(en) contains Lector 1 and Lector 2
|
||||
def check_assessors(row):
|
||||
assessors = row["Assessor(en)"]
|
||||
return all(lector in assessors for lector in [row["Lector 1"], row["Lector 2"]])
|
||||
|
||||
merged["Assessors Match"] = merged.apply(check_assessors, axis=1)
|
||||
|
||||
# Save results
|
||||
divergent_promotors.to_excel("divergent_promotors.xlsx", index=False)
|
||||
merged.to_excel("merged_results.xlsx", index=False)
|
||||
|
||||
print("Processing complete. Results saved.")
|
||||
Reference in New Issue
Block a user