diff --git a/Data/test.csv b/Data/test.csv new file mode 100644 index 0000000..9cd3cdc --- /dev/null +++ b/Data/test.csv @@ -0,0 +1,98 @@ +;; +Backhaus;Tina; +Beck;Christopher; +Beck;Marina; +Berger;Charlyn; +Bernhardi;Antonia; +Bischoff;Meike; +Blöß;Anne-Kristin; +Böhm;Susanne; +Boles;Simone Hildegard; +Brabant;Nadja; +Bremer;Heinz-Dieter; +Bremer;Timo; +Buchbinder;Jürgen; +Bücker;Meike Charlotte; +Bünger;Birte; +Delfs;Dorothee; +Didt;Marlen; +Diercks;Berit-Deike; +Dohrendorf;Hella; +Ehler;Patricia; +Ehrenforth;Maike; +Elgert;Dorit; +Fischer;Rieke Flavia; +Freyer;Jennifer; +Gilbert;Amke; +Glinzner;Sylke; +Gosch;Christina; +Grimm;Antonia; +Hartmann;Marisa Sophie; +Healy-Kloppenburg;Insa; +Herrig;Swantje; +Holst;Patrick; +Iven;Meike; +Jacke;Friederike-Lisette; +Janshen;Friederike; +Kaiser;Yvonne; +Klingelhöfer;Stefanie; +Knobbe;Svenja Elena; +Krieglstein;Lena; +Krohn;Iwanka; +Lang;Alisa; +Lehnau, Dr.;Frank; +Lippitsch;Annette; +Llerena;Susanne; +Markus-Schnabel;Karsten; +Marohn;Kai; +Martens;Annika; +Maßmann;Jillian; +Möbius;Christina; +Möller;Alexandra; +Möllerherm;Antje; +Müller;Thomas; +Neumann;Lisa Marie; +Nicoloff;Alexandra; +Niemann;Lara; +Noguera Abreu;Kristina; +Ochse;Olaf; +Pabst;Stefan; +Peters;Nicole; +Piehl;Jan-Philip; +Posselt;Janett; +Prüfert;Birte; +Radloff;Jannika; +Resch;Christina Carola; +Richter-Conrad;Barbara; +Riedel;Dietmar; +Ries;Claudia; +Ritter;Ewa Joanna; +Rohmer;Thomas; +Rudolf;Julia; +Schacht;Dörthe; +Scharfe;Sarah Marie; +Schrader;Lea Ann; +Schröder;Sandra; +Schwarz;Anneli-Dorothea; +Schwarz;Berit; +Seebauer;Astrid; +Seebauer;Benjamin; +Siedtmann;Katja; +Sommer;Alexander; +Steiger;Lisa; +Steinfatt;Jan Hendrik; +Stukenbrock;Taira; +Teichmann;Sascha; +Tereshchenko;Oksana; +Thiele;Jörg; +Thiele;Ulrike; +Topal;Sebnem; +Torkuhl;Clara; +Treichel;Hannah Lena; +Vehrs;Marian; +Villwock;Hanno; +Voigt;Finja; +Weiß;Lea Pauline Katharina Laetitia; +Welder;Jennifer; +Wolter;Michael; +Wulf;Alexander; diff --git a/main.py b/main.py new file mode 100644 index 0000000..6ebd43e --- /dev/null +++ b/main.py @@ -0,0 +1,22 @@ +from src.format_csv import * + +if __name__ == "__main__": + + oldlist = 'Data/alte-liste-utf.csv' + newlist = 'Data/neue-liste-utf.csv' + + test = 'Data/test.csv' + new_test = 'Data/test_new.csv' + + # Liste nach Fehler prüfen und Zeichen ersetzen + check_file(test) + format_csv(test, new_test) + + #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 \ No newline at end of file diff --git a/csv_calc.py b/src/format_csv.py similarity index 54% rename from csv_calc.py rename to src/format_csv.py index 863b0ea..db2e131 100644 --- a/csv_calc.py +++ b/src/format_csv.py @@ -2,6 +2,25 @@ import pandas as pd import chardet +def check_file(path): + with open(path, 'rb') as file: + result = chardet.detect(file.read()) + + detected_encoding = result['encoding'] + try: + pd.read_csv(path, encoding=detected_encoding) + except pd.errors.ParserError as e: + # Wenn ein Parserfehler auftritt, gibt eine Fehlermeldung aus + print(f"Fehler beim Einlesen der CSV-Datei: {e}") + print() + data = open(path, "r") + data = ''.join([i for i in data]).replace(",", "") + x = open(path, "w") + x.writelines(data) + x.close() + print(f"Alle Kommas entfernt") + + # Prüft Formatierung der CSV, formatiert diese zu utf-8 und speichert das Ergebnis als neue Liste def format_csv(path, type): with open(path, 'rb') as file: @@ -19,22 +38,3 @@ def format_csv(path, type): except pd.errors.ParserError as e: # Wenn ein Parserfehler auftritt, gibt eine Fehlermeldung aus print(f"Fehler beim Einlesen der CSV-Datei: {e}") - - -if __name__ == "__main__": - - oldlist = 'Data/alte-liste-utf.csv' - newlist = 'Data/neue-liste-utf.csv' - - # Liste nach Fehler prüfen und ggfs Zeichern ersetzen - - #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 - -