project started
This commit is contained in:
40
csv_calc.py
Normal file
40
csv_calc.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import pandas as pd
|
||||
import chardet
|
||||
|
||||
|
||||
# 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:
|
||||
result = chardet.detect(file.read())
|
||||
|
||||
detected_encoding = result['encoding']
|
||||
|
||||
# CSV-Datei mit Pandas einlesen
|
||||
try:
|
||||
df = pd.read_csv(path, encoding=detected_encoding)
|
||||
print("Datei erfolgreich eingelesen.")
|
||||
df.to_csv(type, index=False, encoding='utf-8')
|
||||
print("UTF-8 Kopie erfolgreich erstellt.")
|
||||
|
||||
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
|
||||
|
||||
|
||||
34
docs.md
Normal file
34
docs.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# CSV Import Tool Doku
|
||||
|
||||
### Ziel
|
||||
- neue und alte csv Datei einlesen und abgleichen
|
||||
- Datei formatieren in einheitlichen Zeichensatz utf8
|
||||
- Ausgabe von Gleichen, neuen und alten Einträgen
|
||||
- Rechtschreibprüfung
|
||||
|
||||
### Probleme
|
||||
|
||||
- Read Error "Lehnau, Dr." als ein Feld ("," verursacht Problem)
|
||||
- fehlende Spalten labels
|
||||
- Tippfehler
|
||||
- mehrere mit demselben Namen
|
||||
|
||||
### Ablauf
|
||||
|
||||
1. Einfügen von Datei mit DnD oder Dateipfad
|
||||
2. Formatieren der Datei in korrektes Zeichenformat
|
||||
3. Reduzieren auf zentrale Spalten
|
||||
4. Abgleichen der beiden Listen
|
||||
5. Prüfung auf Tippfehler
|
||||
6. Ausgabe der Ergebnisse
|
||||
7. Optionaler Export der Vergleichsliste
|
||||
8. Bearbeitung der Tippfehlerprüfung?
|
||||
9. Eingabe zusätzlicher Spalten
|
||||
10. Export der fertigen Liste
|
||||
|
||||
### User Interface
|
||||
|
||||
- Zwei Drag and Drop Fenster zur Eingabe der Dateien
|
||||
- Wir bei Eingabe einer Datei formatiert und auf nötige Spalten geprüft, dann grün/ grau
|
||||
- Ein Status und Abgleichs Fenster rechts
|
||||
- Consolenartiger Ablauf unten
|
||||
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
panads
|
||||
chardet
|
||||
Reference in New Issue
Block a user