Jak używać
- Wklej tekst CSV, otwórz plik .csv lub .tsv albo kliknij „Wypróbuj przykład”.
- Pozostaw opcję „Wykrywaj automatycznie” lub wybierz separator samodzielnie. Określ też, czy pierwszy wiersz zawiera nazwy kolumn.
- Możesz włączyć wykrywanie liczb, wartości logicznych i null oraz wybrać obiekty lub tablice jako format wyjściowy.
- Skopiuj JSON lub pobierz go jako plik .json.
Jak to działa
Parser obsługuje format RFC 4180, czyli specyfikację CSV: pola mogą być ujęte w cudzysłowy, a cytowane pole może zawierać separator i znaki nowego wiersza. Dwa cudzysłowy wewnątrz cytowanego pola oznaczają jeden znak cudzysłowu. Znaki nowego wiersza mogą mieć postać CRLF (Windows), LF (macOS, Linux) lub CR, a końcowy znak nowego wiersza nie tworzy pustego rekordu. Całkowicie puste wiersze są pomijane. Znacznik kolejności bajtów na początku pliku, często dodawany przez Excel, jest usuwany. Jeśli cytowane pole nie zostanie zamknięte, wyświetli się błąd z numerem wiersza, w którym się zaczyna — zgadywanie mogłoby po cichu scalić resztę pliku w jedną komórkę.
Automatyczne wykrywanie sprawdza przecinek, średnik, tabulator i kreskę pionową w pierwszych wierszach, a następnie wybiera separator zapewniający spójną liczbę kolumn. Jeśli plik zawiera wiersz nagłówka, każdy rekord staje się obiektem, którego kluczami są nazwy kolumn. Puste nazwy są zastępowane przez column_1, column_2… a powtarzające się nazwy otrzymują przyrostek, np. id_2. W wierszach z mniejszą liczbą pól niż w nagłówku brakujące wartości są puste; dodatkowe pola otrzymują dodatkowe nazwy kolumn.
Domyślnie każda wartość pozostaje ciągiem znaków — to bezpieczne rozwiązanie, dzięki któremu kody pocztowe, takie jak 01234, numery telefonów i identyfikatory zachowują początkowe zera. Po włączeniu wykrywania typów wartości zapisane dokładnie tak jak liczby JSON stają się liczbami (z wyjątkiem m.in. 007, 1,5 i liczb całkowitych większych niż 2^53), true i false — niezależnie od wielkości liter — stają się wartościami logicznymi, a null lub pusta komórka stają się wartością null. Daty pozostają tekstem.
Przykłady
Eksport z arkusza kalkulacyjnego
id,name,price\n1,Desk,149.90 zostaje przekształcone w [{"id":"1","name":"Desk","price":"149.90"}]. Po włączeniu wykrywania typów wynik to {"id":1,"name":"Desk","price":149.9}.
Pliki Excel z Europy
Plik zapisany w Excelu w Niemczech używa średników: Name;Preis\nTisch;149,90. Automatyczne wykrywanie wybiera średnik, a 149,90 pozostaje ciągiem znaków "149,90", ponieważ nie jest liczbą JSON.
Komórki ze znakami nowego wiersza
Komórka z adresem zapisana jako "221B Baker Street London" (w cudzysłowie, w dwóch wierszach) pozostaje jedną wartością: "221B Baker Street\nLondon". Nie rozpoczyna nowego wiersza.
Często zadawane pytania
Dlaczego liczby w JSON są ciągami znaków?
CSV nie obsługuje typów danych, dlatego domyślnie każda wartość jest zachowywana jako tekst dokładnie w takiej postaci, w jakiej ją zapisano. Włącz opcję „Wykrywaj liczby, true/false i null”, aby konwertować wartości wyglądające jak liczby. Początkowe zera i przecinki dziesiętne są zachowywane jako tekst, by uniknąć zmiany danych.
Co się stanie, jeśli wiersz ma więcej lub mniej kolumn niż nagłówek?
Brakujące wartości stają się pustymi ciągami znaków (lub wartością null po włączeniu wykrywania typów). Dodatkowe wartości są zachowywane pod dodatkowymi kluczami o nazwach column_N, więc żadne dane nie zostają pominięte.
Czy można odczytać pliki Excel .xlsx?
Nie, obsługiwane są tylko tekstowe pliki CSV i TSV. W Excelu lub Arkuszach Google najpierw wybierz Plik › Zapisz jako / Pobierz › CSV, a następnie otwórz tutaj ten plik.
Jak duży plik mogę przekonwertować?
Pliki o rozmiarze kilku megabajtów są konwertowane w kilka chwil na komputerze stacjonarnym. Ograniczeniem jest pamięć urządzenia, ponieważ całość pliku i wynik JSON są przechowywane w karcie przeglądarki.
Prywatność
Plik CSV jest odczytywany i konwertowany wyłącznie w przeglądarce. Otwarte pliki nie są przesyłane, a żadne dane nie są zapisywane ani wysyłane do narzędzi analitycznych.