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