Konwerter JSON do CSV

Przekształć listę w formacie JSON w plik CSV przydatny do importu do arkuszy kalkulacyjnych. Konwerter analizuje dane, ustala stabilny porządek kolumn (na podstawie pierwszego rekordu lub sumy wszystkich kluczy), rozprostowuje struktury węzłowe (jeśli to ustawisz) i generuje plik CSV, który poprawnie otworzy się w Excelu, Numbers, Google Sheets lub dowolnym skripcie pisanym za pomocą biblioteki pandas.

W jaki sposób działa konwerter

  1. 1

    Wklej lub załóż plik w formacie JSON

    Zbiór obiektów lub zatłoczony ładunek, w którym dane są umieszczone pod jednym kluczem.

  2. 2

    Wybierz strategię kolumn

    Użyj kluczy pierwszego rekordu (szybko, przewidywalnie) lub sumy kluczy wszystkich rekordów (dokładniej).

  3. 3

    Dostosuj wyjście

    Separator, styl cudzysłowów, spłaszczanie zagnieżdżeń, włączenie/wyłączenie nagłówków, BOM w formacie UTF-8 dla Excela.

  4. 4

    Pobierz

    Zapisz jako `.csv` i importuj do swojej arkusza kalkulacyjnego lub załadź jako `pandas.read_csv`.

Strategie porządkowania kolumn

  • Z pierwszego rekordu: kolumny odpowiadają kluczom pierwszego obiektu JSON. Szybko i deterministycznie. Pomija klucze występujące wyłącznie w późniejszych rekordach.
  • Suma wszystkich kluczy: skanuje każdy rekord i zbiera wszystkie klucze. Wolniejsze przy bardzo dużych zbiorach danych, ale generuje pełną listę kolumn.
  • Kolejność niestandardowa: podaj listę nazw kolumn rozdzieloną przecinkami. Wszystko pozostałe jest dodawane na końcu, w kolejności napotkania.

Cudzysłowy i escapowanie

Zgodne z RFC 4180:

  • Pola zawierające przecinki, znaki nowej linii lub podwójne cudzysłowy muszą być ujęte w podwójne cudzysłowy.
  • Podwójny cudzysłów wewnątrz pola ujętego w cudzysłowy escapuje się przez jego podwojenie: He said "Hi" staje się "He said ""Hi""".
  • Znaki nowej linii wewnątrz pól w cudzysłowach są dozwolone, ale nie każdy importer je obsługuje, włącz opcję „escapuj znaki nowej linii”, jeśli potrzebujesz maksymalnej zgodności.

Zachowanie typów danych

CSV to tekst – wszystko jest ciągiem znaków. Wskazówki dotyczące typów, takie jak kolumny liczbowe, wartości logiczne lub daty, zależą od sposobu parsowania po stronie odbiorcy. Kilka porad:

  • Zera wiodące (007) są zachowywane jako ciągi znaków w pliku CSV, ale Excel po cichu konwertuje je na liczby. Poprzedź je =""007"" (brzydkie, ale działa) lub zaimportuj jako tekst w Excelu.
  • Duże liczby całkowite powyżej 2^53 tracą dokładność w Excelu. Przechowuj je jako ciągi znaków w formacie JSON.
  • Daty ISO (2026-04-18T10:22:00Z) przetrwają obieg przez Excel tylko wtedy, gdy kolumna została sformatowana jako tekst podczas importu.
  • Wartości logiczne stają się ciągami true / false. Jeśli dalszy system oczekuje 1/0, wykonaj mapowanie przed eksportem.

BOM i Excel

Excel w systemie Windows wymaga na początku pliku znacznika BOM w formacie UTF-8 (0xEF 0xBB 0xBF); w przeciwnym razie zinterpretuje bajty UTF-8 jako Latin-1 i zniekształci wszystko poza zakresem ASCII. Mac Numbers i Google Sheets obsługują oba warianty.

Najczęstsze błędy

  • Przekazanie obiektu zamiast tablicy. Narzędzie wymaga [{...}, {...}], a nie {...}. Najpierw rozpakuj strukturę.
  • Różne klucze w różnych rekordach. Zastosuj strategię „sumy wszystkich kluczy”, aby uniknąć utraty kolumn.
  • Wartości sentinel dla null. Niektóre potoki traktują pustą komórkę jako null, inne jako ciąg "". Wybierz jedną konwencję i stosuj ją w całym projekcie.
  • Niezgodne ustawienia regionalne. Eksport z użyciem ,, a następnie otwarcie pliku w europejskim Excelu oczekującym ;, może spłaszczyć kolumny. Dopasuj separator do docelowego ustawienia regionalnego.

Najczęściej zadawane pytania

Uwzględź JSONPath (np. $.data.items) dla tablicy lub rozpakuj ją ręcznie. Narzędzie spróbuje automatycznie wykryć pojedynczą tablicę w obiekcie najwyższego poziomu.

Excel aktywnie przekształca ciągi tekstowe o wyglądzie liczbowym w wartości liczbowe. Aby to uniknąć, można importować plik CSV jako tekst za pomocą programu importu w Excelu lub podczas eksportu zmienić wartości typu "007" na ="007" – funkcja ta jest dostępna poprzez włączenie lub wyłączenie trybu „bezpieczny dla tekstu“.

Tak. Wybierz jeden z następujących opcji: dodaj separator (tags: "a,b,c"), serializuj jako JSON (tags: "[\"a\",\"b\"]") lub rozdziel dane na osobne kolumny dla każdego indeksu (tags.0, tags.1, tags.2).

Tak. Google Sheets bez problemów obsługuje format UTF-8 oraz standardowe separatorzy. W przypadku bardzo dużych zbiorów danych (>10 MB) zaleca się ich załadowanie za pomocą IMPORTDATA zamiast wklejania.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach