Co to jest format pliku CSV?
.csv to format pliku, który przechowuje różne rodzaje danych w zestawach tekstowych rozdzielanych znakami, najczęściej przecinkiem - stąd nazwa Comma-Separated Values. Format ten został udokumentowany w RFC 4180 (2005), minimalnym, ale powszechnie przyjętym standardzie. Rekordy danych są oddzielone znakiem nowej linii, podczas gdy poszczególne wartości pól są zazwyczaj ujęte w cudzysłowy. Aby dołączyć dosłowny cudzysłów wewnątrz pola, zapisuje się go dwukrotnie jako "".
Pierwsza linia pliku .csv konwencjonalnie zawiera nazwy kolumn (wiersz nagłówka), choć specyfikacja CSV nie narzuca jego struktury. Pola rekordów mogą być rozdzielone przez:
- Przecinki,
- Średniki,
- Tabulatory (zobacz .TSV),
- Inne znaki - używane konsekwentnie w całym dokumencie.
Pliki .csv są używane do przechowywania, importowania i eksportowania danych w dobrze zdefiniowanym, niezależnym od platformy formacie, który może otworzyć dowolny edytor tekstu. Ponieważ wybór separatora jest nieograniczony, może to czasem powodować problemy podczas konwersji; dlatego kreatory importu danych muszą oferować opcję konfiguracji używanego separatora, jak ma to miejsce w aplikacjach arkuszy kalkulacyjnych, takich jak Microsoft Excel i LibreOffice Calc.
.csv nie posiada sygnatury pliku (magic bytes) i jest identyfikowany raczej na podstawie struktury niż zawartości. Plik może opcjonalnie zaczynać się od znaku BOM UTF-8 (EF BB BF), który Excel zapisuje automatycznie, aby zasygnalizować kodowanie. Większość języków programowania udostępnia dedykowane biblioteki do niezawodnego importowania i zarządzania plikami .csv, co czyni go jednym z najbardziej uniwersalnych formatów wymiany danych w dzisiejszym użyciu.
Bezpieczeństwo
RYZYKO: MEDIUMCSV to zwykły tekst i sam w sobie nie może uruchamiać kodu, ale niesie ze sobą realne ryzyko: CSV injection (formula injection). Jeśli komórka zaczyna się od =, +, - lub @, arkusz kalkulacyjny może wykonać ją jako formułę przy otwarciu - napastnicy wykorzystują to w eksportowanych plikach CSV do uruchamiania poleceń lub wycieku danych. Nowoczesne wersje Excel/LibreOffice ostrzegają przed uruchamianiem takich formuł; nie włączaj ich w plikach z niezaufanych źródeł. Codziennym „ryzykiem” jest uszkodzenie danych, a nie złośliwe oprogramowanie: błędne kodowanie lub separator po cichu zniekształcający liczby, daty i zera wiodące (np. kody pocztowe i numery telefonów tracące początkowe 0).
Szczegóły formatu
w pigułceProgramy otwierające pliki CSV
Szczegóły techniczne
specyfikacja| Typ MIME | text/csv |
| Struktura pliku | Zwykły tekst; wiersze rozdzielone końcami linii, pola rozdzielone wybranym znakiem separatora |
| Domyślny separator | Przecinek (`,`); średniki i tabulatory są również powszechnie stosowanymi wariantami |
| Koniec linii (RFC 4180) | CRLF (`\r\n` zgodnie ze specyfikacją); samo LF (`\n`) jest powszechnie akceptowane w praktyce |
| Znak cytowania pola | Cudzysłów (`"`); podwojony (`""`) w celu uniknięcia dosłownego cudzysłowu wewnątrz pola |
| Wiersz nagłówka | Opcjonalny pierwszy wiersz konwencjonalnie wymieniający nazwy kolumn; RFC 4180 pozostawia strukturę nagłówka niezdefiniowaną |
| Sygnatura pliku (magic bytes) | Brak; identyfikowany przez strukturę. Opcjonalny BOM UTF-8 (`EF BB BF`) może pojawić się na początku pliku |
| Obsługa pól wielowierszowych | Obsługiwane, gdy zawartość pola jest ujęta w cudzysłowy |
| Model danych | Tylko pojedyncza płaska tabela; brak zagnieżdżania, relacji lub typów danych kolumn zakodowanych w formacie |
| Kodowanie znaków | Dowolne kodowanie uzgodnione między nadawcą a odbiorcą; UTF-8 i Windows-1252 są najczęstsze |
| Wbudowana kompresja | Brak; pliki są powszechnie archiwizowane jako `.gz` lub [ZIP](/format/zip) |
| Przydatność do przesyłania strumieniowego | Wysoka - wiersze mogą być przetwarzane linia po linii bez ładowania całego pliku do pamięci |
| Obsługa danych binarnych | Brak natywnej obsługi; zawartość binarna musi być zakodowana jako tekst w Base64 |
| Limity wierszy w aplikacjach | Brak limitu na poziomie formatu; Microsoft Excel ogranicza import arkusza do 1 048 576 wierszy |
| Wydano | 1970s (early use); RFC 4180 published 2005 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |
Konwersje CSV
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CSV.