ForHosting KIT · Daten & Dateien

CSV gegen ein Spaltenschema prüfen und Fehler finden

Prüfen Sie jede Zeile einer CSV gegen die erwarteten Spalten und erhalten Sie alle Probleme auf einmal: Im Beispiel ergeben 3 Zeilen 3 Meldungen, von einer Punktzahl, die keine Zahl ist, bis zu einer leeren Pflicht-ID. Ihre Werte werden nie verändert. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.

Eine CSV-Datei kann ordentlich aussehen und dennoch Werte enthalten, die einen Import, einen Bericht oder eine Datenpipeline scheitern lassen. Dieser Validator vergleicht die Kopfzeile mit den von Ihnen erwarteten Spalten und prüft jede Datenzeile nach eindeutigen Regeln für Text, Zahlen, Ganzzahlen, boolesche Werte und ISO-Daten. Statt beim ersten fehlerhaften Feld abzubrechen, liefert er eine vollständige Liste aller Verstöße mit CSV-Zeilennummer und Spaltenname.

Definieren Sie zuerst den Datenvertrag

Beschreiben Sie jede erwartete Spalte mit drei Eigenschaften: dem genauen Namen, dem Typ und der Angabe, ob sie erforderlich ist. Die Reihenfolge ist wichtig, weil CSV-Daten positionsabhängig sind. Eine Datei mit der Kopfzeile name,id lässt sich nicht sicher wie id,name behandeln, obwohl beide Namen vorkommen.

Eine fehlende, zusätzliche, umbenannte, doppelte oder verschobene Spalte führt zu einem Eingabefehler und nicht zu einem irreführenden Prüfbericht. Zahlen dürfen dezimal oder wissenschaftlich notiert sein, Ganzzahlen müssen sichere ganze Zahlen sein, boolesche Werte akzeptieren true oder false unabhängig von der Großschreibung, und Datumswerte verwenden YYYY-MM-DD mit echter Kalenderprüfung. Ein Textfeld akzeptiert jeden nicht leeren Wert; required bestimmt davon unabhängig, ob eine leere Zelle erlaubt ist.

Eine optionale Ganzzahl darf also fehlen, muss aber bei vorhandenem Wert weiterhin gültig sein.

Lesen Sie Zeilen- und Spaltenverstöße richtig

Das Ergebnis beginnt mit dem Kennzeichen valid sowie den Summen der geprüften Zeilen, Spalten und Verstöße. Wenn valid den Wert false hat, beschreibt das Array violations jedes Problem durch Zeilennummer, Spaltenname, stabilen Code und verständliche Meldung. Die Nummerierung entspricht der CSV-Datei: Zeile 1 ist die Kopfzeile, der erste Datensatz steht in Zeile 2.

So können Sie die Quelldatei öffnen und direkt zur gemeldeten Stelle wechseln. Ein required-Verstoß bedeutet, dass eine vorgeschriebene Zelle leer ist. Ein type-Verstoß bedeutet, dass ein vorhandener Wert nicht dem deklarierten Typ entspricht.

Der Parser verarbeitet Kommas in Anführungszeichen, maskierte Anführungszeichen, eingebettete Zeilenumbrüche und CRLF-Dateien. Gültige Satzzeichen in einem zitierten Feld verschieben daher keine nachfolgenden Spalten.

Prüfen Sie Dateien direkt am Eingang

Validieren Sie eine Datei möglichst nahe an dem Punkt, an dem sie in Ihr System gelangt. Sie können den Upload eines Partners ablehnen, bevor er die Datenbank erreicht, einen geplanten Export vor nachgelagerten Berechnungen prüfen oder in einem Importwerkzeug alle korrigierbaren Zellen gemeinsam anzeigen. Die Ausgabe eignet sich damit sowohl für automatische Sperren als auch für interaktive Bereinigungen.

Behandeln Sie eine abweichende Kopfzeile anders als Zeilenverstöße: Erstere zeigt, dass die Datei nicht dem erwarteten Datensatz entspricht; Letztere betreffen erkennbare Datensätze, die korrigiert werden müssen. Der Validator meldet Fehler nur und bearbeitet, konvertiert, kürzt oder ersetzt keine Quellwerte. Falls Ihre Pipeline eine Normalisierung verlangt, führen Sie diese bewusst als separaten Schritt aus und prüfen Sie anschließend erneut gegen den tatsächlich vom Ziel verlangten Vertrag.

Qualitätskontrolle vor dem Import

Lehnen Sie CSV-Uploads von Kunden oder Partnern vor dem Datenbankimport mit genauen Zeilen- und Spaltenhinweisen ab.

Überwachung regelmäßiger Exporte

Erkennen Sie geänderte Kopfzeilen, leere Pflichtfelder und Werte, die nicht mehr dem deklarierten Typ entsprechen.

Gebündelte Fehlerkorrektur

Geben Sie alle erkennbaren Verstöße gemeinsam aus, damit eine Fachkraft die Datei in einem Durchgang berichtigen kann.

Welche Spaltentypen werden unterstützt?

Datumswerte müssen echte Kalendertage im Format YYYY-MM-DD sein.

Bricht die Prüfung nach der ersten fehlerhaften Zeile ab?

Nein. Nach erfolgreicher Kopfzeilenprüfung werden alle Datenzeilen untersucht und sämtliche gefundenen Verstöße gemeinsam zurückgegeben.

Wie werden Kommas und Zeilenumbrüche in Anführungszeichen behandelt?

Zitierte Felder dürfen Kommas, maskierte doppelte Anführungszeichen und Zeilenumbrüche enthalten, ohne zusätzliche Spalten zu erzeugen.

Verändert oder konvertiert das Werkzeug CSV-Werte?

Nein. Es meldet ausschließlich Verstöße und kürzt, konvertiert, ergänzt oder überschreibt die übermittelte CSV-Datei nie.

Muss die Kopfzeile in derselben Reihenfolge wie die erwarteten Spalten stehen?

Ja. CSV ist ein positionsgebundenes Format, deshalb ist eine Datei mit name,id nicht dasselbe wie eine mit id,name. Eine fehlende, zusätzliche, umbenannte, doppelte oder verschobene Spalte in der Kopfzeile stoppt die Prüfung, bevor Ihre Zeilen überhaupt untersucht werden.

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.

POSThttps://api.kit.forhosting.com/data/csv-validate-schema

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/data/csv-validate-schema \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"csv":"id,email,active\n1,ada@example.com,true\n2,grace@example.com,false","schema":[{"name":"id","type":"integer","required":true},{"name":"email","type":"string","required":true},{"name":"active","type":"boolean","required":true}]}'
{
  "csv": "id,email,active\n1,ada@example.com,true\n2,grace@example.com,false",
  "schema": [
    {
      "name": "id",
      "type": "integer",
      "required": true
    },
    {
      "name": "email",
      "type": "string",
      "required": true
    },
    {
      "name": "active",
      "type": "boolean",
      "required": true
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.csv_validate_schema",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_mb25
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Sie können ihn kostenlos im Browser ausführen oder die API für $0.002 pro Anfrage in einem automatisierten Ablauf einsetzen.

Definieren Sie zuerst den Datenvertrag

Deshalb vergleicht der Validator zunächst die vollständige Kopfzeile mit dem Schema. Unterstützt werden string, number, integer, boolean und date.

Lesen Sie Zeilen- und Spaltenverstöße richtig

Zeilen mit zu vielen oder zu wenigen Feldern erhalten column_count unter der besonderen Spalte _row, weil sich der Strukturfehler keiner einzelnen benannten Zelle zuverlässig zuordnen lässt.

Prüfen Sie Dateien direkt am Eingang

Da der Algorithmus deterministisch arbeitet und keine Netzwerkverbindung nutzt, erzeugen dieselbe CSV-Datei und dasselbe Schema stets denselben Bericht.

Muss die CSV-Kopfzeile dieselbe Reihenfolge wie das Schema haben?

Ja. Namen und Reihenfolge müssen exakt übereinstimmen; andernfalls schlägt die Anfrage mit einem Eingabefehler zur Kopfzeile fehl.

Vollständige KIT-Dokumentation lesen →