Warum meldet Ihre Anwendung Fehler bei der CSV?
Ein Werkzeug, das eine CSV-Datei von typischen technischen Problemen befreit: falsche Zeichenkodierung, uneinheitliche Trennzeichen, überflüssige Leerzeichen und leere Zeilen. Gedacht für alle, deren CSV-Export in einer Anwendung Fehler wirft, obwohl die Datei auf den ersten Blick völlig korrekt und unauffällig aussieht.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Typische Probleme in einer CSV-Datei
Viele CSV-Exporte aus älteren Systemen liegen noch in Windows-1252 oder Latin-1 statt UTF-8 vor, was bei Umlauten und dem ß zu falsch dargestellten Zeichen führt. Hinzu kommen uneinheitliche Trennzeichen innerhalb derselben Datei, überflüssige Leerzeichen am Zeilenanfang oder -ende und leere Zeilen, die manche Anwendungen beim Import als fehlerhafte Datensätze werten und den Import komplett abbrechen, oft ohne klare Fehlermeldung dazu.
Was automatisch korrigiert wird
Die Zeichenkodierung wird erkannt und einheitlich nach UTF-8 überführt, überflüssige Leerzeichen um die Werte werden entfernt, und komplett leere Zeilen fallen weg. Ein am Dateianfang stehendes Byte-Order-Mark, das manche Programme beim Einlesen stört, wird ebenfalls entfernt, ohne dass Sie diese Probleme einzeln von Hand suchen, erkennen und korrigieren müssen, Zeile für Zeile und Zeichen für Zeichen der gesamten Datei, egal wie umfangreich sie ist.
Was die Funktion nicht verändert
Bereinigt werden ausschließlich technische Probleme der Datei selbst. Doppelte Zeilen mit identischem oder ähnlichem Inhalt bleiben erhalten, dafür gibt es eigene Funktionen zum Entfernen exakter oder inhaltlich ähnlicher Duplikate. So bleibt klar erkennbar, welcher Bereinigungsschritt welches Problem löst, statt alles in einem einzigen, undurchsichtigen Vorgang miteinander zu vermischen und zu verwischen, was fehleranfällig und schwer nachvollziehbar wäre und bliebe, auch im Nachhinein.
Wo Sie es nutzen
Die Bereinigung läuft im Browser, kostenlos und ohne Limit, ohne dass die Datei übertragen wird. Über die API lässt sich derselbe Schritt automatisieren, etwa direkt nach einem regelmäßigen Export aus einem älteren System, bevor die Datei in eine moderne Anwendung importiert wird, ohne jeden manuellen Zwischenschritt und ohne jeden Zeitverlust dabei, ganz automatisch und zuverlässig im Hintergrund, Tag für Tag.
Anwendungsfälle
Export aus einer alten Buchhaltungssoftware
Sabine Schneider bereinigt einen CSV-Export ihrer bisherigen Buchhaltungssoftware, bevor sie ihn in die neue Anwendung importiert.
Kassendaten mit falscher Kodierung
Bäckerei Hoffmann e. K. bereinigt den täglichen CSV-Export der Kassensysteme, dessen Umlaute wegen falscher Kodierung bislang fehlerhaft dargestellt wurden.
Gesammelte Daten mit unregelmäßiger Formatierung
Lukas Fischer bereinigt eine zusammengetragene CSV-Datei mit uneinheitlichen Trennzeichen, bevor er sie in eigenem Code weiterverarbeitet.
Häufige Fragen
Welche Kodierungsprobleme werden erkannt?
Windows-1252 und Latin-1 werden erkannt und einheitlich nach UTF-8 überführt, ebenso ein störendes Byte-Order-Mark am Dateianfang.
Werden leere Zeilen automatisch entfernt?
Ja, komplett leere Zeilen werden entfernt, da sie viele Anwendungen als fehlerhafte Datensätze werten.
Entfernt die Bereinigung auch doppelte Zeilen?
Nein, dafür gibt es eigene Funktionen zum Entfernen exakter oder inhaltlich ähnlicher Duplikate.
Gibt es ein Limit für die Dateigröße?
Die CSV-Datei darf bis zu 25 MB groß sein.
Ist die Bereinigung kostenlos?
Ja, im Browser läuft sie kostenlos und ohne Limit. Nur die Nutzung über die API kostet $0.002 pro Anfrage.
Brauche ich ein Konto?
Nein, weder im Browser noch über die API ist ein Konto erforderlich.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/data/clean-csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/clean-csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/clean-csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/clean-csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/clean-csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.clean_csv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |