updated project structure
This commit is contained in:
@@ -108,7 +108,7 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
|
|||||||
# print(import_df)
|
# print(import_df)
|
||||||
# pd.reset_option('display.max_rows')
|
# pd.reset_option('display.max_rows')
|
||||||
# pd.reset_option('display.max_columns')
|
# pd.reset_option('display.max_columns')
|
||||||
out_path = '../GPS/outputLehrer.csv'
|
out_path = '../Data/GPS/outputLehrer.csv'
|
||||||
import_df.to_csv(out_path, sep=';', index=False)
|
import_df.to_csv(out_path, sep=';', index=False)
|
||||||
print(len(import_df))
|
print(len(import_df))
|
||||||
print('Lehrer Import Liste erzeugt')
|
print('Lehrer Import Liste erzeugt')
|
||||||
@@ -116,9 +116,9 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
file1_path = '../GPS/gpsLnew.csv'
|
file1_path = '../Data/GPS/gpsLnew.csv'
|
||||||
file2_path = '../GPS/gpsLold2.cvs'
|
file2_path = '../Data/GPS/gpsLold2.cvs'
|
||||||
file3_path = '../GPS/gpsLold.csv'
|
file3_path = '../Data/GPS/gpsLold.csv'
|
||||||
|
|
||||||
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)
|
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
|
|||||||
# print(import_df)
|
# print(import_df)
|
||||||
# pd.reset_option('display.max_rows')
|
# pd.reset_option('display.max_rows')
|
||||||
# pd.reset_option('display.max_columns')
|
# pd.reset_option('display.max_columns')
|
||||||
out_path = '../GPS/outputSchueler.csv'
|
out_path = '../Data/GPS/outputSchueler.csv'
|
||||||
import_df.to_csv(out_path, sep=';', index=False)
|
import_df.to_csv(out_path, sep=';', index=False)
|
||||||
print(len(import_df))
|
print(len(import_df))
|
||||||
print('Schüler Import Liste erzeugt')
|
print('Schüler Import Liste erzeugt')
|
||||||
@@ -117,9 +117,9 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
file1_path = '../GPS/gpsSnew.csv'
|
file1_path = '../Data/GPS/gpsSnew.csv'
|
||||||
file2_path = '../GPS/gpsSold2.cvs'
|
file2_path = '../Data/GPS/gpsSold2.cvs'
|
||||||
file3_path = '../GPS/gpsSold.csv'
|
file3_path = '../Data/GPS/gpsSold.csv'
|
||||||
|
|
||||||
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)
|
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)
|
||||||
|
|
||||||
26
first_try/main.py
Normal file
26
first_try/main.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
from first_try.format_csv import *
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
oldlist = 'Data/alte-liste-utf.csv'
|
||||||
|
newlist = 'Data/neue-liste-utf.csv'
|
||||||
|
|
||||||
|
test = 'GPS/lehrer_HL0707113.csv_intern'
|
||||||
|
new_test = 'GPS/gpsLold.csv'
|
||||||
|
clean = 'GPS/gpsLold2.cvs'
|
||||||
|
|
||||||
|
# Liste nach Fehler prüfen und Zeichen ersetzen
|
||||||
|
check_file(test)
|
||||||
|
format_csv(test, new_test)
|
||||||
|
clean_data(new_test, clean)
|
||||||
|
|
||||||
|
# path_old_csv = input('Pfad zur alten Liste eingeben eingeben: ')
|
||||||
|
# format_csv(path_old_csv, oldlist)
|
||||||
|
# path_new_csv = input('Pfad zur neuen Liste eingeben eingeben: ')
|
||||||
|
# format_csv(path_new_csv, newlist)
|
||||||
|
|
||||||
|
# Generierte Listen mit pandas öffnen
|
||||||
|
# Spaltennamen prüfen und überflüssige Spalten löschen
|
||||||
|
# Abgleich starten -collisions
|
||||||
|
# TODO Testuser + Spezialfälle Raumaccounts etc. "Tafel" "Raum"
|
||||||
|
# TODO Fehlerhafte Sonderzeichen erkennen (oxport_schueler.csv - 171)
|
||||||
|
# TODO File / Ausgabe von Gesamten Zahlen zum Abgleich mit DryRun (ImportLines, Created, Modified, Delete)
|
||||||
74
main.py
74
main.py
@@ -1,25 +1,61 @@
|
|||||||
from src.format_csv import *
|
########################################
|
||||||
|
# -- Python Script für UCS Import -- #
|
||||||
|
# -- by Patrick vom Hagen 2024 -- #
|
||||||
|
########################################
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
# IMPORT - standard Python imports für benötigte Bibliotheken #
|
||||||
|
|
||||||
|
import pandas as pd # pandas für Datenmanagement
|
||||||
|
import chardet # chardet erkennt Formatierung - Umwandlung des erkannten Formats in UTF-8
|
||||||
|
import csv # zur Verarbeitung von .csv Dateien
|
||||||
|
import uuid # zur Generierung von neuen UUIDs
|
||||||
|
|
||||||
|
#############################
|
||||||
|
# Flags / globale Variablen #
|
||||||
|
|
||||||
|
del_zeros = False # Boolean, ob führende Nullen bei Klassen entfernt werden sollen
|
||||||
|
get_typos = False # Boolean, ob geringe Unterschiede zwischen den Listen ausgegeben werden sollen
|
||||||
|
test_user = [] # Array in dem Spezialuser gespeichert und wieder eingefügt werden
|
||||||
|
|
||||||
|
school_id = 'HL' # HL-Tag für Klassen
|
||||||
|
ox_context = 0 # OX Context pro Schule
|
||||||
|
mail_quota_lul = 2048 # MailUserQuota LuL
|
||||||
|
ox_quota_lul = 20480 # oxUserQuota LuL
|
||||||
|
mail_quota_sus = 1024 # MailUserQuota SuS
|
||||||
|
ox_quota_sus = 5120 # oxUserQuota LuL
|
||||||
|
|
||||||
|
#######################
|
||||||
|
# MAIN FUNCTION START #
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
oldlist = 'Data/alte-liste-utf.csv'
|
print("Schul-IT UCS-Import Tool:")
|
||||||
newlist = 'Data/neue-liste-utf.csv'
|
|
||||||
|
|
||||||
test = 'GPS/lehrer_HL0707113.csv_intern'
|
# ----------------------------------------------------------------- #
|
||||||
new_test = 'GPS/gpsLold.csv'
|
# Step 1 - Dateien wählen, formatieren, einlesen | Variablen setzen #
|
||||||
clean = 'GPS/gpsLold2.cvs'
|
|
||||||
|
|
||||||
# Liste nach Fehler prüfen und Zeichen ersetzen
|
# ToDo Daten mit UI einlesen
|
||||||
check_file(test)
|
lehrer_liste_neu = "./Data/test_new.csv"
|
||||||
format_csv(test, new_test)
|
lehrer_liste_system = "./Data/test.csv"
|
||||||
clean_data(new_test, clean)
|
|
||||||
|
|
||||||
# path_old_csv = input('Pfad zur alten Liste eingeben eingeben: ')
|
schueler_liste_neu = "./Data/test_new.csv"
|
||||||
# format_csv(path_old_csv, oldlist)
|
schueler_liste_system = "./Data/test.csv"
|
||||||
# path_new_csv = input('Pfad zur neuen Liste eingeben eingeben: ')
|
|
||||||
# format_csv(path_new_csv, newlist)
|
|
||||||
|
|
||||||
# Generierte Listen mit pandas öffnen
|
# Variablen füllen:
|
||||||
# Spaltennamen prüfen und überflüssige Spalten löschen
|
school_id = input("Schul-ID eingeben (Format: 'HL070XXXX):")
|
||||||
# Abgleich starten -collisions
|
ox_context = input("OX-Context der Schule eingeben:")
|
||||||
# TODO Testuser + Spezialfälle Raumaccounts etc. "Tafel" "Raum"
|
if input("Klassen mit führenden Nullen? (Y/N) ").lower() == "y":
|
||||||
# TODO Fehlerhafte Sonderzeichen erkennen (oxport_schueler.csv - 171)
|
del_zeros = False
|
||||||
|
else:
|
||||||
|
del_zeros = True
|
||||||
|
|
||||||
|
# ---------------------------------------------------- #
|
||||||
|
# Step 2 - auf name, vorname reduzieren und abgleichen #
|
||||||
|
|
||||||
|
# 2.1 Data Frames für Abgleich erstellen
|
||||||
|
# 2.2 Datei mit gesamten Anzahlen generieren und füllen
|
||||||
|
# 2.3 Nicht zuordnungsbare bzw. neue Einträge nach Abweichung zur Bestandsliste prüfen und ausgeben
|
||||||
|
# UUIDs zwischenspeichern?
|
||||||
|
|
||||||
|
# Step 3 - Import Data generieren - klasse, uuids, weiteres in einer Liste zusammenführen
|
||||||
|
|||||||
0
src/__init__.py
Normal file
0
src/__init__.py
Normal file
@@ -1,22 +0,0 @@
|
|||||||
########################################
|
|
||||||
# -- Python Script für UCS Import -- #
|
|
||||||
# -- by Patrick vom Hagen 2024 -- #
|
|
||||||
########################################
|
|
||||||
|
|
||||||
# IMPORT - standard Python imports für benötigte Bibliotheken #
|
|
||||||
|
|
||||||
import pandas as pd # pandas für Datenmanagement
|
|
||||||
import chardet # chardet erkennt Formatierung - Umwandlung des erkannten Formats in UTF-8
|
|
||||||
import csv # zur Verarbeitung von .csv Dateien
|
|
||||||
import uuid # zur Generierung von neuen UUIDs
|
|
||||||
|
|
||||||
# Flags / globale Variablen #
|
|
||||||
|
|
||||||
del_zeros = False # Boolean, ob führende Nullen bei Klassen entfernt werden sollen
|
|
||||||
get_typos = False # Boolean, ob geringe Unterschiede zwischen den Listen ausgegeben werden sollen
|
|
||||||
|
|
||||||
ox_context = 0 # OX Context pro Schule
|
|
||||||
mail_quota_lul = 2048 # MailUserQuota LuL
|
|
||||||
ox_quota_lul = 20480 # oxUserQuota LuL
|
|
||||||
mail_quota_sus = 1024 # MailUserQuota SuS
|
|
||||||
ox_quota_sus = 5120 # oxUserQuota LuL
|
|
||||||
0
src/step1.py
Normal file
0
src/step1.py
Normal file
Reference in New Issue
Block a user