CSV to jeden z najprostszych i najpopularniejszych formatów przechowywania danych tabelarycznych. W artykule wyjaśniamy, jak działa CSV, jakie są jego ograniczenia i jak bezpiecznie go używać w projektach IT.

CSV — opanuj chaos cyferek i literek
CSV (Comma-Separated Values) to jeden z najprostszych i najpopularniejszych formatów przechowywania danych tabelarycznych. Choć pozornie nieskomplikowany, potrafi sprawiać sporo problemów przy eksporcie, imporcie i interpretacji danych. Jest wszechobecny w systemach księgowych, arkuszach kalkulacyjnych, aplikacjach BI i systemach integracyjnych.
W tym artykule omawiamy, jak działa format CSV, jakie napotyka ograniczenia i jak sobie z nimi radzić, a także jak go bezpiecznie wykorzystać w projektach informatycznych.
Co to jest CSV i do czego się go używa?
CSV
to plik tekstowy, w którym dane przedstawione są w postaci wierszy (rekordów) i kolumn oddzielanych separatorem. Każdy wiersz odpowiada jednej strukturze danych, np. użytkownikowi, zamówieniu lub wpisowi księgowemu.
- eksport/import danych z systemów CRM, ERP, e-commerce,
- integracje między aplikacjami,
- wsad do analiz i raportowania w systemach BI,
- import danych do baz danych,
- konwersja danych do formatu czytelnego przez człowieka i maszynę.
Źródło
- RFC 4180 – Common Format and MIME Type for CSV Files (https://datatracker.ietf.org/doc/html/rfc4180)
Separator – przecinek czy średnik?
Mimo że nazwa sugeruje przecinek (Comma-Separated), w praktyce w Europie często stosuje się średnik (;
) jako bezpieczniejszy separator:
- przecinek może występować wewnątrz danych liczbowych jako separator dziesiętny,
- średnik redukuje ryzyko nieprawidłowego podziału danych w programach takich jak Excel czy LibreOffice.
Inne spotykane separatory: tab (\t)
, pipe (|)
, spacja
.
Typy danych i ich interpretacja
Format CSV
nie definiuje typów danych – wszystko przechowywane jest jako ciągi tekstowe. Ich interpretacja zależy od narzędzia odczytującego:
- liczby: mogą zawierać przecinek (
,
) lub kropkę (.
) jako separator dziesiętny, - wartości logiczne:
true/false
,1/0
,tak/nie
, - daty: wiele wariantów zapisu, zalecany
ISO 8601
(np.2025-06-17
), - tekst (String): powinien być otoczony podwójnym cudzysłowem (
"
).
Źródło
- Tabular Data Model (https://www.w3.org/TR/tabular-data-model/)
Błędy eksportu i importu CSV
Typowe problemy:
- brak wiersza nagłówkowego lub jego niezgodność z danymi,
- niezamknięte cudzysłowy powodujące przesunięcia danych,
- znaki specjalne (nowe linie, tabulatory, przecinki wewnątrz komórek),
- problemy kodowania (
UTF-8
vsWindows-1250
), - błędna interpretacja separatora przez program otwierający plik,
duck typing
prowadzący do błędnej interpretacji wartości (np.ID
jako liczba zamiast string).