# CSV-Processor v2.0 Professionelles Werkzeug zur Verarbeitung und Konvertierung von CSV- und Excel-Dateien. ## Features ✅ **Import** von CSV, Excel (XLSX/XLS) ✅ **Export** als CSV, Excel (XLSX), OpenDocument (ODS) ✅ **Spaltennamen-Mapping** (z.B. "btr" → "Betrag") ✅ **Datenbereinigung** (leere Zeilen/Spalten entfernen) ✅ **Spaltenauswahl** (nur gewünschte Spalten exportieren) ✅ **Sortierung** nach beliebigen Spalten ✅ **Voreinstellungen** für wiederkehrende Aufgaben ## Programmversionen ### CLI-Version (Terminal) - **Für wen:** Fortgeschrittene Benutzer, Automatisierung - **Vorteile:** Schnell, scriptfähig, volle Kontrolle - **Datei:** `csv_processor.py` ### GUI-Version (Grafisch) - **Für wen:** Alle Benutzer, besonders Einsteiger - **Vorteile:** Intuitiv, visuelle Vorschau, einfache Bedienung - **Datei:** `csv_processor_gui.py` ## Systemanforderungen - Python 3.7 oder höher - Tkinter (für GUI-Version, normalerweise in Python enthalten) - Optional: openpyxl (für Excel-Support) - Optional: odfpy (für ODS-Support) ## Installation ### Option 1: Debian-Paket (.deb) Für Debian/Ubuntu-basierte Systeme steht ein fertiges Paket bereit: ```bash sudo dpkg -i dist/csv-processor-debian.deb ``` Nach der Installation: - CLI-Version: `csv-processor-cli` - GUI-Version: `csv-processor-gui` oder über Anwendungsmenü ### Option 2: Direkt mit Python ausführen ```bash # Abhängigkeiten installieren pip install -r requirements.txt # CLI-Version starten python csv_processor.py # GUI-Version starten python csv_processor_gui.py ``` ## Nutzung ### CLI-Version ```bash python csv_processor.py ``` Sie sehen das Hauptmenü: ``` ╔════════════════════════════════════════════════════════════════╗ ║ CSV-PROCESSOR v2.0 - Dateiverarbeitung ║ ╚════════════════════════════════════════════════════════════════╝ 1. Neue Datei verarbeiten 2. Voreinstellungen verwalten 0. Beenden ``` **Schritt-für-Schritt:** 1. Quelldatei auswählen (CSV oder Excel) 2. CSV-Einstellungen konfigurieren (Encoding, Delimiter) 3. Optional: Mapping-Datei für Spaltennamen laden 4. Leere Zeilen/Spalten entfernen 5. Spalten auswählen 6. Optional: Sortierung, Kopf-/Fußzeile 7. Ausgabeformat wählen und speichern 8. Optional: Als Voreinstellung speichern ### GUI-Version ```bash python csv_processor_gui.py ``` 1. **Datei laden:** Klick auf [Durchsuchen] und Datei auswählen 2. **Einstellungen:** Checkboxen für Kopfzeile, leere Zeilen/Spalten 3. **Spalten:** Im Bereich "Spaltenauswahl" gewünschte Spalten markieren 4. **Vorschau:** Optional [Vorschau] klicken 5. **Speichern:** [Verarbeiten & Speichern] klicken ### Spaltenauswahl (CLI) | Eingabe | Bedeutung | |---------|-------------------------------| | `q` | Fertig | | `alle` | Alle auswählen | | `keine` | Alle abwählen | | `3` | Spalte 3 umschalten | | `1,2,3` | Spalten 1,2,3 umschalten | | `+5` | Spalte 5 ANwählen | | `-5` | Spalte 5 ABwählen | | `1-10` | Spalten 1-10 umschalten | | `+1-10` | Spalten 1-10 ANwählen | | `-1-10` | Spalten 1-10 ABwählen | ## Mapping-Dateien Mapping-Dateien übersetzen technische Spaltennamen in lesbare Namen: ```json { "btr": "Betrag", "dat": "Datum", "kto": "Kontonummer", "empf": "Empfänger" } ``` Speichern Sie diese als `.json`-Datei und laden Sie sie im Programm. ## Voreinstellungen Voreinstellungen speichern Ihre Konfiguration für wiederkehrende Aufgaben: - Kopfzeile ja/nein - Leere Zeilen/Spalten entfernen - Mapping-Datei - Spaltenauswahl - Ausgabeformat - CSV-Export-Einstellungen - Sortierung Voreinstellungen werden im Verzeichnis `csv_processor_config/` gespeichert. ## Build ### Linux-Executable erstellen ```bash ./build_linux.sh ``` Erstellt eine standalone-Executable in `dist/`. ### Debian-Paket erstellen ```bash ./build_debian.sh ``` Erstellt ein `.deb`-Paket für Debian/Ubuntu. ### Windows-Executable erstellen ```bash ./build_windows.bat ``` Oder unter Linux mit Wine: ```bash ./build_windows_wine.sh ``` ## Projektstruktur ``` csv-processor/ ├── csv_processor.py # CLI-Version ├── csv_processor_gui.py # GUI-Version ├── requirements.txt # Python-Abhängigkeiten ├── README.md # Diese Datei ├── LICENSE # MIT-Lizenz ├── build_linux.sh # Build-Script Linux ├── build_debian.sh # Build-Script Debian-Paket ├── build_windows.bat # Build-Script Windows └── dist/ # Fertige Pakete └── csv-processor-debian.deb ``` ## Tipps & Tricks ### Große Dateien - Bei >10.000 Zeilen: 5-30 Sekunden Verarbeitungszeit - Bei >100.000 Zeilen: CLI-Version ist schneller - Leere Spalten werden vor der Spaltenauswahl entfernt ### CSV-Export für Excel - Delimiter: Semikolon (;) für deutsche Excel-Versionen - Quoting: Minimal ### CSV-Export für Datenbanken - Delimiter: Tab - Quoting: Minimal - Keine Kopf-/Fußzeile ## Lizenz MIT License - siehe [LICENSE](LICENSE) ## Autor Sebastian Zell --- **Version:** 2.0 **Stand:** Januar 2026