class overview

This commit is contained in:
Patrick vom Hagen
2024-07-31 14:40:10 +02:00
parent 1ca6c76b97
commit 936a00c81f
3 changed files with 68 additions and 26 deletions

View File

@@ -52,7 +52,7 @@ if __name__ == "__main__":
# ToDo Daten mit UI einlesen # ToDo Daten mit UI einlesen
# lehrer_liste_neu = "./Data/SaM/export_lehrer_SaM.csv" # lehrer_liste_neu = "./Data/SaM/export_lehrer_SaM.csv"
school_folder = "HMS" school_folder = "johanneum"
lehrer_liste_neu = f"./Data/{school_folder}/export_lul.csv" lehrer_liste_neu = f"./Data/{school_folder}/export_lul.csv"
lehrer_liste_system = f"./Data//{school_folder}/sys_lul.csv" lehrer_liste_system = f"./Data//{school_folder}/sys_lul.csv"
lul_out_path = 'output/outputLehrer.csv' lul_out_path = 'output/outputLehrer.csv'

View File

@@ -1,40 +1,73 @@
Schul-IT UCS-Import Tool: Schul-IT UCS-Import Tool:
Eingabefelder:
Schul-ID eingeben HL070:OX-Context der Schule eingeben:Klassen mit f<>hrenden Nullen? (y/n)
Schul ID: HL0707103
OX-Context: 15
Nullen: True
Anzahl Test- / Systemuser LuL: 0 Schul ID: HL
Anzahl Test- / Systemuser SuS: 0 OX-Context: 0
Nullen: False
Anzahl Test- / Systemuser LuL: 2
Anzahl Test- / Systemuser SuS: 1
Lehrer:innen: Lehrer:innen:
Eintr<EFBFBD>ge in System Liste: 60 Eintr<EFBFBD>ge in System Liste: 101
Eintr<EFBFBD>ge in Import Liste: 52 Eintr<EFBFBD>ge in Import Liste: 89
['L_L' nan '9c-24' '5e-24' '9d-24' 'Ec-24' 'Ef-24' 'Eg-24' '6c-24' '6a-24'
'7d-24' 'Q2f-24' '10b-24' '8b-24' '7a-24' 'Q2b-24' '7b-24' '8a-24'
'9e-24' 'Ed-24' '10d-24' '9b-24' 'SB' '6b-24' 'Q2c-24' '8c-24' '5b-24'
'5c-24' '10a-24' '9a-24' 'Q2e-23' '10c-24' '6d-24' '7c-24' '8d-24'
'Eb-24' 'Ee-24' 'Q2d-24' 'Q2a-24' '5d-24' '5a-24' 'Q2g-24' 'Q1a-24'
'Ea-24' 'Sek' '8e-23']
['HL0705102-L_L' 'HL0705102-6d-23' 'HL0705102-Q2e-23' 'HL0705102-5c-23'
'HL0705102-5a-23' 'HL0705102-10e-23' 'HL0705102-8b-23' 'HL0705102-Q1f-23'
'HL0705102-9b-23' 'HL0705102-7b-23' 'HL0705102-8a-23' 'HL0705102-9d-23'
'HL0705102-Q2a-23' 'HL0705102-10a-23' 'HL0705102-Q1c-23'
'HL0705102-8e-23' 'HL0705102-6a-23' 'HL0705102-Q2d-23' 'HL0705102-DaZ-23'
'HL0705102-Q1a-23' 'HL0705102-Q1g-23' 'HL0705102-Q2b-23'
'HL0705102-7c-23' 'HL0705102-10b-23' 'HL0705102-9a-23' 'HL0705102-10d-23'
'HL0705102-Ea-23' 'HL0705102-Q2c-23' 'HL0705102-5b-23' 'HL0705102-8d-23'
'HL0705102-9c-23' 'HL0705102-Q1e-23' 'HL0705102-7a-23' 'HL0705102-6b-23'
'HL0705102-6c-23' 'HL0705102-8c-23' 'HL0705102-Q1b-23' 'HL0705102-5d-23'
'HL0705102-10c-23' 'HL0705102-7d-23' 'HL0705102-Sek' 'HL0705102-Q1d-23'
nan 'HL0705102-testgruppe' 'HL0705102-Dummy']
Anzahl neuer Nutzer: 20 Anzahl neuer Nutzer: 4
Anzahl <20>bereinstimmungen: 32 Anzahl <20>bereinstimmungen: 87
Anzahl veralteter Nutzer: 28 Anzahl veralteter Nutzer: 14
M<EFBFBD>gliche Tippfehler: keine Fehler gefunden! M<EFBFBD>gliche Tippfehler: 1
Import System
0 [Martin, Herrmann] [Martin, Hermann]
Sch<63>ler:innen: Sch<63>ler:innen:
Eintr<EFBFBD>ge in System Liste: 296 Eintr<EFBFBD>ge in System Liste: 973
Eintr<EFBFBD>ge in Import Liste: 491 Eintr<EFBFBD>ge in Import Liste: 1011
['Q2f-24' '10a-24' 'Ef-24' '10b-24' '10c-24' '10d-24' '5a-24' '5b-24'
'5c-24' '5d-24' '5E-24' '6a-24' '6b-24' '6c-24' '6d-24' '7a-24' '7b-24'
'7c-24' '7d-24' '8a-24' '8b-24' '8c-24' '8d-24' '9a-24' '9b-24' '9c-24'
'9d-24' '9E-24' 'Ea-24' 'Eb-24' 'Ec-24' 'Ed-24' 'Ee-24' 'Eg-24' 'Q1a-24'
'Q2a-24' 'Q2b-24' 'Q2c-24' 'Q2d-24' 'Q2e-24' 'Q2g-24' nan]
['HL0705102-10b-23' 'HL0705102-10e-23' 'HL0705102-10a-23'
'HL0705102-10c-23' 'HL0705102-10d-23' 'HL0705102-9a-23'
'HL0705102-Q1b-23' 'HL0705102-Q1a-23' 'HL0705102-Q1d-23'
'HL0705102-Q1f-23' 'HL0705102-Q1g-23' 'HL0705102-Q1c-23'
'HL0705102-Ea-23' 'HL0705102-Q1e-23' 'HL0705102-Q2d-23'
'HL0705102-Q2a-23' 'HL0705102-Q2c-23' 'HL0705102-Q2b-23'
'HL0705102-Q2e-23' 'HL0705102-9d-23' 'HL0705102-9b-23' 'HL0705102-9c-23'
'HL0705102-8a-23' 'HL0705102-8b-23' 'HL0705102-Dummy' 'HL0705102-8c-23'
'HL0705102-8e-23' 'HL0705102-8d-23' 'HL0705102-7c-23' 'HL0705102-7b-23'
'HL0705102-7d-23' 'HL0705102-7a-23' 'HL0705102-Ed-22' 'HL0705102-DaZ-23'
'HL0705102-6a-23' 'HL0705102-6b-23' 'HL0705102-6c-23' 'HL0705102-6d-23'
'HL0705102-Q2c-22' 'HL0705102-5d-23' 'HL0705102-5c-23' 'HL0705102-5b-23'
'HL0705102-5a-23' 'HL0705102-testgruppe']
Anzahl neuer Nutzer: 426 Anzahl neuer Nutzer: 168
Anzahl <20>bereinstimmungen: 65 Anzahl <20>bereinstimmungen: 844
Anzahl veralteter Nutzer: 231 Anzahl veralteter Nutzer: 129
M<EFBFBD>gliche Tippfehler: 3 M<EFBFBD>gliche Tippfehler: keine Fehler gefunden!
Import System
0 [Bilal, Ismail] [Dilan, Ismail]
1 [Iyed, Khalil] [Ines, Khalil]
2 [Nicklas, Linke] [Niklas, Janke]
0 Testuser angef<65>gt - 52 Eintr<74>ge in LuL Liste 2 Testuser angef<65>gt - 91 Eintr<74>ge in LuL Liste
LuL Import CSV unter output/outputLehrer.csv erfolgreich erstellt! LuL Import CSV unter output/outputLehrer.csv erfolgreich erstellt!
0 Testuser angef<65>gt - 491 Eintr<74>ge in SuS Liste 1 Testuser angef<65>gt - 1012 Eintr<74>ge in SuS Liste
SuS Import CSV unter output/outputSchueler.csv erfolgreich erstellt! SuS Import CSV unter output/outputSchueler.csv erfolgreich erstellt!

View File

@@ -11,6 +11,8 @@ def compare_data(new, sys, count_test):
if bool_class: if bool_class:
if 'index' in new.columns: if 'index' in new.columns:
new = new.drop('index', axis=1) new = new.drop('index', axis=1)
unique_classes(new)
unique_classes(sys)
sys = sys.drop(columns=['klasse']) sys = sys.drop(columns=['klasse'])
merged_df = pd.merge(new[['name', 'vorname', 'klasse']], sys, on=['name', 'vorname'], how='outer', indicator=True) merged_df = pd.merge(new[['name', 'vorname', 'klasse']], sys, on=['name', 'vorname'], how='outer', indicator=True)
matches = pd.merge(new, sys, on=['name', 'vorname']) matches = pd.merge(new, sys, on=['name', 'vorname'])
@@ -44,6 +46,13 @@ def search_typos(new, sys):
print('Mögliche Tippfehler: keine Fehler gefunden!') print('Mögliche Tippfehler: keine Fehler gefunden!')
def unique_classes(df):
df['klasse'] = df['klasse'].str.split(',')
df = df.explode('klasse')
eindeutige_klassen = df['klasse'].unique()
print(eindeutige_klassen)
def print_status(matches, new, old, count_test): def print_status(matches, new, old, count_test):
print("\nAnzahl neuer Nutzer:", len(new)) print("\nAnzahl neuer Nutzer:", len(new))
print("Anzahl Übereinstimmungen:", len(matches) + count_test) print("Anzahl Übereinstimmungen:", len(matches) + count_test)