Python · CSV · Weryfikacja IBAN

Weryfikacja numerów IBAN z pliku CSV za pomocą Pythona

Sprawdź wyeksportowaną listę IBAN i utwórz nowy plik CSV ze statusem weryfikacji, nazwą banku i kodem BIC. Skrypt do pobrania korzysta ze standardowej biblioteki Pythona, zachowuje kolejność linii i sprawdza zduplikowane numery IBAN tylko raz na uruchomienie.

To jest lokalny przepływ wiersza poleceń dla języka Python w wersji 3.10 lub nowszej. Każdy inny, niepusty IBAN jest wysyłany do API IBAN-Test. Potrzebujesz własnego tokena API i wystarczającego limitu żądań.

Pobierz skrypt do sprawdzania pliku CSV

Plik ZIP zawiera iban_csv.py, przykładowy plik CSV, plik README i testy automatyczne. Dodatkowe pakiety Pythona nie są wymagane.

Pobierz pakiet startowy (ZIP)

Python 3.10+ · Biblioteka standardowa · Przykładowy plik CSV

Stan testów: Dziewięć lokalnych automatycznych testów obejmuje tworzenie żądań, duplikaty i puste linie, sprawdzanie wyników, ochronę przydziałów, obsługę błędów, maskowanie CSV i zachowanie istniejących plików. W tym przykładzie nie wykonano uwierzytelnionego przejścia względem Live API.

1. Przygotuj plik wejściowy

Eksportuj dane źródłowe jako plik CSV w formacie UTF-8. Użyj nagłówka kolumny z małymi literami iban i opcjonalnie kolumny reference, aby zmapować wyniki na swoje rekordy. Skrypt uwzględnia w wynikach tylko te dwie kolumny wejściowe; inne kolumny nie są brane pod uwagę. Zachowaj oryginalny eksport.

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

Są to próbki testowe, a nie instrukcje dotyczące płatności. Pierwsze dwie linie dają ten sam znormalizowany numer IBAN. Pusta linia pobiera MISSING bez żądania API. Zapisz numery IBAN i referencje jako tekst podczas eksportu z arkusza kalkulacyjnego.

2. Przeprowadź pierwszą małą kontrolę

Rozpakuj pakiet, otwórz terminal w jego katalogu i sprawdź, czy Python jest dostępny:

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

W systemie Windows użyj py -3 zamiast python3, jeśli to konieczne, w zależności od instalacji. Program zapyta o Twój token API bez wyświetlania wprowadzonych znaków. Token znajdziesz w przeglądzie API swojego konta IBAN-Test. Nie jest zapisywany w pliku CSV.

Domyślny limit to 10 różnych, niepustych numerów IBAN. Skrypt zlicza je przed pierwszym żądaniem i zatrzymuje się po ich przekroczeniu. Powyższy przykład wymaga dwóch żądań API, jeśli oba są wykonywane regularnie.

Jeśli się powiedzie, program wyświetli liczbę wierszy i żądań. Tworzy plik wyjściowy tylko wtedy, gdy dla każdego żądanego numeru IBAN istnieje użyteczny wynik kontroli. Dlatego błąd API nie pozostawia częściowo zweryfikowanego wyniku CSV.

3. Odczytaj wyniki

KolumnaZnaczenie
reference, ibanTwoje oryginalne odniesienia i dane wejściowe, w razie potrzeby z zabezpieczeniem formuły tabelarycznej.
iban_normalizedIBAN pisany wielkimi literami bez białych znaków.
statusVALID, INVALID lub MISSING.
code, messageKod wyniku API i komunikat wyjaśniający. W przypadku decyzji zautomatyzowanych użyj kodu, a nie tekstu wiadomości.
bank, bicDostępne dane bankowe; Pola mogą być puste.
checked_at_utcZnacznik czasu UTC zapisany po otrzymaniu odpowiedzi dla danego IBAN. Duplikaty mają wspólny wynik i znacznik czasu; puste dane wejściowe nie mają znacznika czasu.

VALID wymaga kodu 2100 i error: false. Kody 3100, 3101 i 3102 z error: true dają w wyniku INVALID. Błąd uwierzytelnienia, wyczerpanie przydziału, błędy serwera i nieoczekiwane odpowiedzi powodują zatrzymanie programu z niezerowym kodem zakończenia.

4. Przetwarzaj inne eksporty i większe listy

Aby wyeksportować ze średnikiem, wybierz jawnie separator. Dotyczy wejścia i wyjścia:

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

Sprawdź pozostały limit interfejsu API, a następnie w razie potrzeby zwiększ limit żądań na uruchomienie:

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

Żądania są wysyłane pojedynczo, jedno po drugim; nie jest to endpoint REST do obsługi zbiorczej. Nieudane uruchomienie mogło już zużyć część limitu. Ponowne uruchomienie sprawdza listę od początku: usuwanie duplikatów działa tylko w obrębie jednego uruchomienia. Szablon nie ponawia żądań automatycznie i nie zapisuje punktów wznowienia.

W przypadku wykonywania nienadzorowanych podaj IBAN_TEST_API_TOKEN w konfiguracji kluczy tajnych systemu zadań. Nie przechowuj prawdziwych tokenów w kontroli wersji ani nie przekazuj ich jako argumentu wiersza poleceń. W przypadku uruchamiania ręcznego najłatwiejszy jest ukryty wpis interaktywny.

Typowe problemy

  • “CSV must have an iban header”: Sprawdź dokładną pisownię nagłówka kolumny, kodowania i separatora. XLSX nie jest CSV.
  • “Choose a new output filename”: Skrypt nie nadpisuje istniejących plików ani danych wejściowych. Użyj nowej nazwy pliku dla każdego uruchomienia.
  • HTTP 401 lub kod API 4002: Sprawdź swój token. Nie ponawiaj ciągłych prób nieudanego uwierzytelnienia.
  • Kod API 4003: Limit został wyczerpany. Zatrzymaj zadanie i sprawdź dostępny limit przed ponownym uruchomieniem.
  • Błąd sieci lub nieprawidłowy JSON: Przepływ zatrzymuje się. Sprawdź dostępność połączenia i API; Błąd transmisji nie mówi nic o ważności numeru IBAN.

Chroń eksportowane dane

Do API przesyłany jest wyłącznie numer IBAN; odniesienie pozostaje w przepływie lokalnym. Przechowuj pliki wejściowe i wyjściowe w odpowiedniej, prywatnej lokalizacji. Skrypt poprzedza potencjalnie wykonywalne wartości tabeli apostrofem, aby zmniejszyć ryzyko wstrzyknięcia formuły. Może to zmienić dosłowną reprezentację odniesienia, takiego jak =1+1. Zachowaj oryginalny eksport, aby zapewnić dokładne dopasowanie.

Prawidłowy IBAN nie potwierdza istnienia konta, jego właściciela, salda ani powodzenia płatności. Informacje o schematach SEPA zawiera poradnik sprawdzania uczestnictwa banku w SEPA. Jeśli wolisz wizualny przepływ, skorzystaj z poradnika n8n.

Uruchom dołączone testy offline

python3 -m unittest -v

Testy korzystają z kontrolowanych odpowiedzi i nie wykorzystują żądań API. Sprawdzają decyzje dotyczące programu, a nie Twój token czy aktualne informacje bankowe.

Referencje: dokumentacja API IBAN-Test, Odniesienie do Pythona w formacie CSV, Odniesienie do Pythona w żądaniach HTTP.

Utwórz konto API Porównaj limity API

Weryfikacja danych bankowych

Weryfikacja w rejestrach banków z 40 krajów

IBAN-Test sprawdza więcej niż sumę kontrolną. Dla tych krajów weryfikuje identyfikator banku w dostępnych rejestrach i zwraca dane takie jak nazwa instytucji, miejscowość oraz BIC, jeśli są dostępne. Zobacz, jak działa weryfikacja IBAN.

ALAlbania ADAndora ATAustria BEBelgia BGBułgaria HRChorwacja CYCypr CZCzechy DKDania EEEstonia FIFinlandia FRFrancja DENiemcy GIGibraltar GRGrecja HUWęgry ISIslandia IEIrlandia ITWłochy LVŁotwa LILiechtenstein LTLitwa LULuksemburg MTMalta MDMołdawia MECzarnogóra NLHolandia MKMacedonia Północna NONorwegia PLPolska PTPortugalia RORumunia SMSan Marino RSSerbia SKSłowacja SISłowenia ESHiszpania SESzwecja CHSzwajcaria VAWatykan

Sprawdzanie formatu IBAN

Weryfikacja 115 formatów IBAN

Sprawdź strukturę, długość i sumę kontrolną IBAN, aby wychwycić literówki i przestawione cyfry, zanim płatność zostanie odrzucona. W krajach wymienionych powyżej dostępna jest również weryfikacja w rejestrach banków.

Serwer MCP dla agentów AI – Połącz klientów AI z narzędziami do weryfikacji IBAN – https://www.iban-test.eu/mcp – dokumentacja API