ForHosting KIT · Dati e file

Validare CSV con uno schema di colonne e trovare gli errori

Un file CSV può sembrare ordinato e contenere comunque valori che bloccano un’importazione, un report o una pipeline di dati.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

Questo validatore confronta l’intestazione con le colonne esatte attese da Lei, quindi esamina ogni riga con regole esplicite per stringhe, numeri, interi, booleani e date ISO. Invece di fermarsi alla prima cella errata, restituisce l’elenco completo delle violazioni con numeri di riga e nomi di colonna. Può eseguirlo gratuitamente nel browser oppure usare l’API al costo di $0.002 per richiesta in un flusso automatizzato.

Definisca il contratto prima di controllare il file

Descriva ogni colonna attesa tramite tre proprietà: nome esatto, tipo e obbligatorietà. L’ordine è importante perché i dati CSV sono posizionali; un’intestazione nome,id non è intercambiabile in sicurezza con id,nome, anche se entrambe contengono gli stessi nomi. Il validatore confronta quindi l’intera intestazione con lo schema prima di esaminare le righe. Una colonna mancante, aggiuntiva, rinominata, duplicata o riordinata genera un errore di input anziché un report fuorviante. I tipi supportati sono string, number, integer, boolean e date. I numeri accettano la notazione decimale e scientifica; gli interi devono essere numeri interi sicuri; i booleani ammettono true o false senza distinzione tra maiuscole e minuscole; le date usano YYYY-MM-DD con controllo dei giorni di calendario. Una stringa accetta qualsiasi valore non vuoto, mentre required stabilisce separatamente se una cella vuota è consentita. Un intero facoltativo può quindi mancare, ma, se presente, deve comunque essere valido.

Interpreti correttamente le violazioni

Il risultato inizia con l’indicatore valid e con i conteggi di righe, colonne e violazioni. Quando valid è false, l’array violations identifica ogni problema mediante numero di riga, nome della colonna, codice stabile e messaggio leggibile. La numerazione segue il CSV: la riga 1 è l’intestazione e il primo record si trova alla riga 2. Lei può quindi aprire il file originale e raggiungere subito la posizione indicata. Una violazione required segnala che una cella obbligatoria è vuota. Una violazione type indica che un valore presente non soddisfa il tipo dichiarato. Le righe con un numero eccessivo o insufficiente di campi ricevono column_count nella colonna speciale _row, perché il problema strutturale non può essere assegnato con certezza a una singola cella. Il parser gestisce virgole tra virgolette, virgolette con escape, interruzioni di riga incorporate e file CRLF; la punteggiatura legittima in un campo racchiuso tra virgolette non sposta quindi le colonne successive.

Inserisca la convalida all’ingresso del flusso

Convalidi il file il più vicino possibile al punto in cui entra nel Suo sistema. Può rifiutare il caricamento di un partner prima che raggiunga il database, controllare un’esportazione pianificata prima dei calcoli successivi o presentare in un importatore tutte le celle correggibili. Poiché l’algoritmo è deterministico e non usa la rete, lo stesso CSV e lo stesso schema producono sempre il medesimo report. L’output è quindi adatto sia ai controlli automatici sia alla correzione interattiva. Tratti una mancata corrispondenza dell’intestazione diversamente dalle violazioni di riga: la prima indica che il file non rappresenta il set di dati atteso; le seconde riguardano record riconoscibili da correggere. Il validatore segnala soltanto i problemi e non modifica, converte, ritaglia o sostituisce mai i valori originali. Se la pipeline richiede normalizzazione, la esegua come passaggio distinto e consapevole, quindi convalidi nuovamente rispetto al contratto effettivamente richiesto dalla destinazione.

Controllo qualità delle importazioni

Rifiuti i CSV caricati da clienti o partner con riferimenti esatti a riga e colonna prima dell’importazione nel database.

Monitoraggio delle esportazioni

Controlli le esportazioni ricorrenti per rilevare modifiche alle intestazioni, celle obbligatorie vuote e valori non più conformi al tipo.

Correzione in blocco

Restituisca insieme tutte le violazioni rilevabili affinché un operatore possa correggere il file in una sola revisione.

L’intestazione CSV deve rispettare lo stesso ordine dello schema?

Sì. Nomi e ordine devono coincidere esattamente; in caso contrario, la richiesta fallisce con un errore di input relativo all’intestazione.

Quali tipi di colonna sono supportati?

Lo schema supporta string, number, integer, boolean e date. Le date devono rappresentare giorni reali nel formato YYYY-MM-DD.

La convalida si ferma alla prima riga errata?

No. Dopo l’accettazione dell’intestazione vengono controllate tutte le righe e tutte le violazioni rilevate sono restituite insieme.

Come vengono gestite virgole e interruzioni di riga tra virgolette?

I campi racchiusi tra virgolette possono contenere virgole, virgolette doppie con escape e interruzioni di riga senza creare colonne aggiuntive.

Lo strumento modifica o converte i valori CSV?

No. Segnala soltanto le violazioni; non ritaglia, converte, completa né riscrive mai il CSV inviato.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_mb25
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →