218 lines
5.3 KiB
Markdown
218 lines
5.3 KiB
Markdown
# 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 <sebastian.zell@zell-aufmass.de>
|
|
|
|
---
|
|
|
|
**Version:** 2.0
|
|
**Stand:** Januar 2026
|