Python · CSV · Validazione degli IBAN

Validare gli IBAN di un file CSV con Python

Controlla un elenco IBAN esportato e crea un nuovo file CSV con lo esito della verifica, il nome della banca e il BIC. Lo script scaricabile utilizza la libreria standard Python, preserva l'ordine delle righe e controlla gli IBAN duplicati solo una volta per esecuzione.

Questo è un flusso della riga di comando locale per Python versione 3.10 o successiva. Ogni IBAN diverso e non vuoto viene inviato all'API IBAN-Test. Hai bisogno del tuo token API e di una quota di richieste sufficiente.

Scarica lo script per il controllo CSV

Il file ZIP contiene iban_csv.py, un CSV di esempio, un README e test automatizzati. Non sono richiesti pacchetti Python aggiuntivi.

Scarica il pacchetto iniziale (ZIP)

Python 3.10+ · Libreria standard · CSV di esempio

Stato dei test: Nove test automatizzati locali riguardano la costruzione delle richieste, le righe duplicate e vuote, i risultati del controllo, la protezione delle quote, la gestione degli errori, il mascheramento CSV e la conservazione dei file esistenti. Per questo esempio non è stato eseguito un passaggio autenticato rispetto all'API Live.

1. Preparare il file di input

Esporta i tuoi dati di origine come CSV UTF-8. Utilizza l'intestazione di colonna in lettere minuscole iban e facoltativamente una colonna reference per mappare i risultati ai tuoi record. Lo script include solo queste due colonne di input nell'output; le altre colonne non vengono prese in considerazione. Conserva l'esportazione originale.

reference,iban
example-valid,DE89 3704 0044 0532 0130 00
example-duplicate,de89370400440532013000
example-invalid-checksum,DE00370400440532013000
example-empty,

Questi sono campioni di prova, non istruzioni di pagamento. Le prime due righe restituiscono lo stesso IBAN normalizzato. La riga vuota ottiene MISSING senza una richiesta API. Salva IBAN e riferimenti come testo durante l'esportazione da un foglio di calcolo.

2. Effettuare un primo piccolo controllo

Scompatta il pacchetto, apri un terminale nella sua directory e controlla se Python è disponibile:

python3 --version
python3 iban_csv.py sample.csv results.csv

Su Windows, utilizzare py -3 invece di python3 se necessario, a seconda dell'installazione. Il programma interrogherà il tuo token API senza visualizzare i caratteri che hai inserito. Puoi trovare il token nella panoramica API del tuo account IBAN-Test. Non è scritto nel file CSV.

Il limite predefinito è 10 IBAN diversi e non vuoti. Lo script li conta prima della prima richiesta e si ferma quando vengono superati. L'esempio precedente richiede due richieste API se entrambe vengono completate regolarmente.

In caso di successo, il programma restituisce il numero di righe e richieste. Crea il file di output solo quando è presente un risultato di controllo utilizzabile per ciascun IBAN richiesto. Pertanto, un errore API non lascia un CSV di risultati parzialmente verificato.

3. Leggi il problema

ColonnaSignificato
reference, ibanIl tuo riferimento e input originali, con protezione tramite formula tabellare, se necessario.
iban_normalizedIBAN in maiuscolo senza spazi.
statusVALID, INVALID o MISSING.
code, messageCodice risultato API e messaggio esplicativo. Per le decisioni automatizzate, utilizza il codice, non il testo del messaggio.
bank, bicCoordinate bancarie disponibili; I campi possono essere vuoti.
checked_at_utcTimestamp UTC registrato dopo la risposta per questo IBAN. I duplicati condividono il risultato e il timestamp; le voci vuote non hanno timestamp.

VALID richiede i codici 2100 e error: false. I codici 3100, 3101 e 3102 con error: true danno come risultato INVALID. Errore di autenticazione, quota esaurita, errori del server e risposte impreviste interrompono il programma con un codice di uscita diverso da zero.

4. Elaborare altre esportazioni ed elenchi più grandi

Per esportare con un punto e virgola, selezionare esplicitamente il separatore. Si applica all'input e all'output:

python3 iban_csv.py customers.csv checked-customers.csv --delimiter ";"

Controlla la quota API rimanente e quindi aumenta il limite di richieste per esecuzione, se necessario:

python3 iban_csv.py customers.csv checked-customers.csv --max-requests 100

Le singole richieste vengono inviate una dopo l'altra; non è un endpoint di raccolta REST. Un'esecuzione non riuscita potrebbe aver già consumato richieste. Un riavvio controlla nuovamente l'elenco: la rimozione dei duplicati si applica all'interno di un'esecuzione, non a più esecuzioni. Questo modello non ha né ripetizioni automatiche né stati intermedi ripristinabili.

Per le esecuzioni non presidiate, fornire IBAN_TEST_API_TOKEN tramite la configurazione dei segreti del sistema di lavoro. Non archiviare token reali nel controllo della versione né passarli come argomento della riga di comando. Per le esecuzioni manuali, l'immissione interattiva nascosta è la più semplice.

Problemi comuni

  • “CSV must have an iban header”: Controlla l'ortografia esatta dell'intestazione della colonna, della codifica e del separatore. XLSX non è CSV.
  • “Choose a new output filename”: Lo script non sovrascrive i file esistenti o il relativo input. Utilizzare un nuovo nome file per ogni esecuzione.
  • HTTP 401 o codice API 4002: Controlla il tuo gettone. Non riprovare continuamente le autenticazioni non riuscite.
  • Codice API 4003: La quota è esaurita. Interrompi il lavoro e controlla la tua quota prima di riavviarlo.
  • Errore di rete o JSON non valido: Il flusso si ferma. Verifica la connessione e la disponibilità delle API; Un errore di trasmissione non dice nulla sulla validità dell'IBAN.

Proteggi i dati esportati

All'API viene inviato solo l'IBAN; il riferimento rimane nel flusso locale. Conservare i file di input e di output in una posizione privata appropriata. Lo script prefissa i valori della tabella potenzialmente eseguibili con un apostrofo per ridurre il rischio di inserimento di formule. Ciò può modificare la rappresentazione letterale di un riferimento come =1+1. Conserva l'esportazione originale per una corrispondenza accurata.

Un IBAN valido non dimostra l'esistenza del conto, la proprietà, il saldo del conto o il successo del pagamento. Le informazioni sulle singole procedure SEPA si trovano nelle istruzioni per lo Partecipazione alla SEPA di una banca. Lo istruzioni n8n è adatto per un processo visivo.

Esegui i test offline inclusi

python3 -m unittest -v

I test utilizzano risposte controllate e non consumano richieste API. Esaminano le decisioni del programma, non il tuo token o le informazioni bancarie attuali.

Riferimenti: documentazione dell’API IBAN-Test, Riferimento CSV Python, Riferimento Python sulle richieste HTTP.

Crea un account API Confronta le quote API

Verifica dei dati bancari

Verifiche negli archivi bancari di 40 Paesi

IBAN-Test va oltre le cifre di controllo. Per i paesi elencati confrontiamo il codice della banca con gli archivi disponibili e restituiamo le informazioni presenti, come istituto, città e BIC. Scopri come funziona la verifica IBAN.

ALAlbania ADAndorra ATAustria BEBelgio BGBulgaria HRCroazia CYCipro CZCechia DKDanimarca EEEstonia FIFinlandia FRFrancia DEGermania GIGibilterra GRGrecia HUUngheria ISIslanda IEIrlanda ITItalia LVLettonia LILiechtenstein LTLituania LULussemburgo MTMalta MDMoldavia MEMontenegro NLPaesi Bassi MKMacedonia del Nord NONorvegia PLPolonia PTPortogallo RORomania SMSan Marino RSSerbia SKSlovacchia SISlovenia ESSpagna SESvezia CHSvizzera VACittà del Vaticano

Controllo del formato IBAN

Controllo di 115 formati IBAN

Controlla struttura, lunghezza e cifre di controllo per individuare errori di battitura e cifre invertite prima di un pagamento. Per i paesi indicati sopra è disponibile anche la verifica negli archivi bancari.

Server MCP per agenti IA – Collega i tuoi client IA agli strumenti di verifica IBAN – https://www.iban-test.eu/mcp – Documentazione API