Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Sprawdź poprawność pliku CSV

signups.csv· DANE PRZYKŁADOWE7 wierszy · 6 kolumn
Reguły dla kolumn (opcjonalnie)
Reguły są zapisywane jako JSON w formacie Table Schema (Frictionless Data), więc odczytają je również inne narzędzia.
Błędy: 4, ostrzeżenia: 2
Raport
WierszKolumnaProblemWartość
1nameZaczyna się lub kończy spacjami. Antoni Nowak
2emailNieprawidłowa wartość dla formatu: Adres e-mail.not-an-email
2signup_dateNieprawidłowa wartość dla typu: Data (RRRR-MM-DD).2026-02-30
6emailNieprawidłowa wartość dla formatu: Adres e-mail.N/A
6signup_dateNieprawidłowa wartość dla typu: Data (RRRR-MM-DD).11/03/2026
7nameZaczyna się lub kończy spacjami.Julia Kamiński

Numery wierszy liczą wiersze danych pod nagłówkiem; podział wiersza w cudzysłowie nie rozpoczyna nowego wiersza.

Otwórz plik CSV, aby sprawdzić jego strukturę: liczbę pól w każdym rekordzie względem nagłówka, puste i powtórzone nazwy kolumn, zabłąkane cudzysłowy, mieszane znaki końca wiersza i puste wiersze. Dodaj opcjonalne reguły dla kolumn – np. liczba całkowita, data, e-mail, wartość wymagana, unikatowa, dozwolone wartości lub wyrażenie regularne – a każdy problem zostanie wypisany z numerem wiersza danych, kolumną i wartością. Reguły korzystają ze słownictwa Frictionless Table Schema. Plik jest sprawdzany w Twojej przeglądarce, a nie wysyłany na serwer.

Jak sprawdzić poprawność pliku CSV

  1. Otwórz plik .csv, .tsv lub .txt. Ogranicznik i znacznik BOM dla UTF-8 lub UTF-16 są wykrywane automatycznie; jeśli kolumny wyglądają nieprawidłowo, wybierz inny ogranicznik lub starsze kodowanie w ustawieniach importu.
  2. Opcjonalnie podaj liczbę kolumn, którą musi mieć każdy rekord. Jeśli zostawisz pole puste, użyta zostanie liczba kolumn nagłówka.
  3. Opcjonalnie dodaj reguły dla interesujących Cię kolumn: typ, to, czy wartość jest wymagana lub musi być unikatowa, dozwolone wartości, minimum i maksimum, zakres długości albo wzorzec.
  4. Uruchom sprawdzanie i przejrzyj raport: najpierw błędy, potem ostrzeżenia. Popraw wartości w edytorze CSV lub uporządkuj je w narzędziu Czyszczenie danych CSV, a potem sprawdź plik ponownie.

Aby przed napisaniem reguł zobaczyć typy, puste komórki i różne wartości każdej kolumny, sprawdź plik w profilu kolumn.

Kontrole struktury każdego rekordu

Liczba pól (błąd)Rekord ma więcej lub mniej pól niż nagłówek albo niż podana przez Ciebie liczba. RFC 4180 zakłada, że każdy rekord ma tyle samo pól; niezgodność zwykle oznacza ogranicznik bez cudzysłowu albo brakującą wartość.
Pusty nagłówek (błąd)Nazwa kolumny jest pusta lub składa się z samych spacji. Raport podaje jej pozycję.
Powtórzony nagłówek (błąd)Dwie nazwy kolumn są takie same po usunięciu spacji z brzegów. Raport podaje obie pozycje.
Zabłąkany cudzysłów (ostrzeżenie)Znak cudzysłowu występuje wewnątrz wartości bez cudzysłowu, np. 5" screen. Wartość pozostaje w zapisanej postaci, a raport podaje liczbę takich przypadków w pliku.
Tekst po cudzysłowie zamykającym (ostrzeżenie)Po cudzysłowie zamykającym, a przed kolejnym ogranicznikiem występują znaki, jak w "abc"x.
Mieszane znaki końca wiersza (ostrzeżenie)Plik łączy zakończenia rekordów CRLF, LF i CR. Raport liczy każdy rodzaj osobno.
Puste wiersze (ostrzeżenie)Puste linie między rekordami. Są pomijane, a raport podaje ich liczbę.
Spacje na brzegach (ostrzeżenie)Wartość ma spacje przed tekstem lub po nim. Domyślnie włączone; wartości składające się wyłącznie ze spacji nie są zgłaszane.

Wartość w cudzysłowie, który nigdy się nie zamyka, przerywa sprawdzanie błędem wskazującym rekord, w którym się zaczyna, bo reszty pliku nie da się wtedy wiarygodnie podzielić na rekordy.

Reguły kolumn: typy, wymagane, unikatowe i wzorce

Typ: liczba całkowita (integer)Tylko opcjonalny znak i cyfry, np. -12 lub 007. Wartości przekraczające ±9 007 199 254 740 991 są zgłaszane, więc długie identyfikatory (np. numery rachunków) sprawdzaj regułą tekstową ze wzorcem.
Typ: liczba (number)Zwykły zapis dziesiętny z kropką, np. 3.5, -0.25 lub 1e3. Bez separatorów tysięcy, walut i otaczających spacji – kwota zapisana jako 1 234,50 nie przejdzie tej reguły.
Typ: wartość logiczna (boolean)true lub false, wielkość liter dowolna. 1, 0, yes i no są zgłaszane.
Typ: data, data i godzina (date, datetime)Rzeczywista data kalendarzowa w zapisie YYYY-MM-DD, więc 2024-02-30 zostanie zgłoszone. Wariant z godziną dodaje czas (2024-03-05T09:30, opcjonalnie sekundy i przesunięcie Z lub +02:00).
Typ: tekst z formatem (string)E-mail (proste sprawdzenie kształtu name@domain.tld, a nie test, czy adres działa), URI (bezwzględny adres URL ze schematem) lub UUID (wersje 1–8).
WymaganeWartość nie może być pusta. Bez tej reguły puste wartości przechodzą wszystkie pozostałe reguły.
UnikatoweŻadna wartość nie może się powtórzyć w kolumnie. Raport wskazuje wiersz, w którym wystąpiła po raz pierwszy. Puste wartości nie są porównywane.
Dozwolone wartościWartość musi być dokładnie równa jednej z wymienionych, łącznie z wielkością liter i spacjami.
Minimum, maksimumGranice włącznie dla kolumn z liczbami całkowitymi i dziesiętnymi albo daty ISO dla kolumn z datą i datą z godziną.
Minimalna i maksymalna długośćLiczona w znakach Unicode, więc é i 日 liczą się jako jeden znak każdy.
WzorzecWyrażenie regularne, które musi pasować do całej wartości, jak wymaga Table Schema, np. [A-Z]{2}\d{4}. Dopasowanie rozróżnia wielkość liter.

Reguła dotyczy kolumny, której nagłówek dokładnie odpowiada nazwie w regule; reguły dla kolumn, których nie ma w pliku, są pomijane. Reguły możesz zapisać jako plik JSON w formacie Table Schema i wczytać ponownie przy kolejnym eksporcie; nieznane typy i klucze we wczytanym schemacie są ignorowane.

Jak czytać raport

  • Numery wierszy oznaczają rekordy danych po nagłówku (nagłówek to wiersz 0). Wartość z podziałem wiersza w cudzysłowie nadal stanowi jeden rekord, więc numer wiersza może się różnić od numeru linii w edytorze tekstu.
  • Każdy problem podaje kolumnę i przytacza wartość, dzięki czemu wyszukasz ją w przeglądarce CSV lub w edytorze.
  • Błędy naruszają strukturę lub regułę; ostrzeżenia wskazują dane, które są poprawnym CSV, ale często powodują problemy przy imporcie.
  • Wyświetlanych jest do 5000 problemów. Powyżej tej liczby sumy dla każdego rodzaju problemu są nadal liczone, a lista jest oznaczona jako obcięta.

Limity walidacji i prywatność

Walidator odczytuje po jednym rekordzie, więc pliki większe niż 25 MB (limit pracy interaktywnej) są sprawdzane strumieniowo w tle, z paskiem postępu i możliwością anulowania. W trybie strumieniowym rekordy z mniejszą liczbą pól niż nagłówek są obecnie uzupełniane przed sprawdzeniem, więc jako błąd liczby pól zgłaszane są tylko rekordy z nadmiarowymi polami.

Walidacja odbywa się w Twojej przeglądarce. Plik CSV nie jest wysyłany na żaden serwer.

Przykład: sprawdzanie eksportu rejestracji czterema regułami

Eksport rejestracji sprawdzony czterema regułami: id to wymagana, unikatowa liczba całkowita; email to wymagany tekst w formacie e-mail; signup_date to data; plan dopuszcza basic, pro i team. Wynik to raport walidatora – po podsumowaniu jeden problem w każdym wierszu: niemożliwa data, adres e-mail bez końcówki domeny, Pro z niewłaściwą wielkością liter, powtórzony id, brakujący e-mail oraz team ze spacją na końcu, co jest jednocześnie ostrzeżeniem i niedozwoloną wartością.

CSV
id,email,signup_date,plan
1,ana@example.com,2024-02-30,pro
2,kim@example,2024-03-01,Pro
2,bao@example.com,2024-03-04,basic
4,,2024-03-05,team 
Raport walidacji
{"rows":4,"errors":6,"warnings":1,"truncated":false}
{"code":"type","row":1,"column":"signup_date","value":"2024-02-30","params":{"type":"date"}}
{"code":"format","row":2,"column":"email","value":"kim@example","params":{"format":"email"}}
{"code":"enum","row":2,"column":"plan","value":"Pro","params":{"allowed":"basic, pro, team"}}
{"code":"unique","row":3,"column":"id","value":"2","params":{"first":2}}
{"code":"whitespace","row":4,"column":"plan","value":"team ","params":{}}
{"code":"required","row":4,"column":"email","value":"","params":{}}
{"code":"enum","row":4,"column":"plan","value":"team ","params":{"allowed":"basic, pro, team"}}

Pytania i odpowiedzi

Dlaczego wartość ze spacją jest zgłaszana przy liście dozwolonych wartości?

Reguły porównują wartość dokładnie w zapisanej postaci, bez obcinania spacji, więc team to nie team. Usuń spacje w tej kolumnie narzędziem Czyszczenie danych CSV albo popraw eksport.

Czy walidacja zmienia mój plik?

Nie. Narzędzie tylko odczytuje plik i raportuje, co znalazło. Problemy popraw w edytorze lub w systemie źródłowym.

Czy mogę używać tych samych reguł dla każdego miesięcznego eksportu?

Tak. Zapisz reguły jako plik JSON w formacie Table Schema i wczytaj go następnym razem; reguły są dopasowywane do kolumn po nazwie.

Standardy i źródła