Z CSV do JSON bez utraty danych
Opublikowano · Zaktualizowano 2 min czytania
Plik CSV to tabela zapisana jako tekst, jeden wiersz na rekord, z kolumnami oddzielonymi znakiem. JSON to inny sposób zapisu danych, wygodniejszy dla programów i stron internetowych. Przejście od jednego do drugiego wydaje się proste, ale cztery szczegóły często powodują utratę lub zniekształcenie danych.
Separator
W CSV kolumny oddziela się przecinkiem albo, we Francji bardzo często, średnikiem. Powód tkwi w liczbach: po francusku 24.5 zapisuje się z przecinkiem, który nie może więc jednocześnie rozdzielać kolumn. Narzędzie rozpoznaje oba separatory, więc plik zapisany z francuskiego arkusza kalkulacyjnego jest odczytywany poprawnie, z 24,5 zachowanym w jednej kolumnie.
Cudzysłowy
Gdy sama wartość zawiera separator, zapisuje się ją w cudzysłowie, na przykład "podlewanie: rano, wieczorem". Narzędzie zachowuje wtedy wartość w całości. Jeśli sam tekst zawiera cudzysłowy, w CSV są podwajane, a w JSON stają się cudzysłowami z ucieczką, na przykład "strefa \"północ\"".
Liczby
Wszystkie wartości trafiają do JSON jako tekst, także liczby: 18 staje się "18", a 24,5 staje się "24,5". To punkt, który trzeba znać, jeśli program odczytuje potem plik. Program oczekujący prawdziwej liczby nie zrozumie "24,5": trzeba będzie zamienić przecinek na kropkę i usunąć cudzysłowy wokół wartości liczbowych.
Puste pola
Puste pole CSV staje się w JSON pustym ciągiem, dwoma cudzysłowami bez niczego pomiędzy, a nie wartością "null". Jeśli program odróżnia „puste” od „brakującego”, należy przewidzieć ten krok czyszczenia.
Kiedy konwertować
Arkusz wyeksportowany ze sklepu, lista kontaktów lub seria odczytów są konwertowane na JSON, gdy strona lub program musi je odczytać. Konwersja odwrotna służy do otwarcia w arkuszu kalkulacyjnym danych otrzymanych z usługi internetowej.
Sprawdzenie wyniku
Porównaj liczbę wierszy w CSV z liczbą w JSON, a potem otwórz uzyskany plik. Najpierw przyjrzyj się kolumnom zawierającym ułamki dziesiętne, akcenty lub przecinki: tam pojawiają się błędy.
Aby przejść w przeciwną stronę, zobacz JSON do CSV.
Najczęściej zadawane pytania
- Dlaczego moje liczby stają się tekstem w JSON?
- Narzędzie zapisuje wszystkie wartości jako tekst, także liczby. Jeśli program oczekuje prawdziwej liczby, zamień przecinek dziesiętny na kropkę i usuń cudzysłowy wokół wartości liczbowych.
- Mój CSV używa średników, czy zostanie poprawnie odczytany?
- Tak, narzędzie rozpoznaje średnik tak samo jak przecinek, co odpowiada francuskim arkuszom kalkulacyjnym.
- Co dzieje się z pustą komórką?
- Staje się pustym ciągiem w JSON, a nie wartością "null".
- Jak zachować przecinek wewnątrz wartości?
- Musi być w cudzysłowie w CSV, jak "podlewanie: rano, wieczorem". Narzędzie zachowuje wtedy wartość w całości.
