Jak przekonwertować JSON na CSV w Pythonie?
Źródło obrazu: oatawa/iStock/GettyImages
Możesz konwertować JSON do CSV w języku programowania Python za pomocą wbudowanych bibliotek, które są dostarczane z językiem. Możesz przejść przez obiekt JSON w pętli i wyprowadzić jego klucze i wartości jako wiersze w pliku wartości rozdzielanych przecinkami. Pamiętaj, że nie wszystkie pliki JSON można łatwo przedstawić jako pojedyncze pliki CSV, więc w zależności od formatu może być konieczne użycie wielu plików CSV, aby przedstawić wszystkie dane w użyteczny sposób.
Zrozumienie JSON i CSV
Pliki JSON i CSV to dwa popularne sposoby reprezentowania danych cyfrowych. JSON oznacza Notacja obiektu JavaScripti jest to sposób reprezentowania danych jako zagnieżdżonych mapowań kluczy na wartości oraz list danych. Jest zainspirowany tym, jak dane są reprezentowane w języku programowania JavaScript, ale wiele nowoczesnych języków programowania, w tym Python, ma narzędzia do przetwarzania danych JSON.
Wideo dnia
A wartość oddzielona przecinkami file to kolejny sposób reprezentowania uporządkowanych danych. Pliki te są często używane z arkuszami kalkulacyjnymi i podobnymi typami programów, więc jeśli chcesz importuj JSON do Excela przydatne może być najpierw przekonwertowanie go na plik CSV. Ogólnie pliki CSV zawierają nagłówki kolumn u góry pliku, wskazujące, co jest przechowywane w każdej kolumnie. Następnie każdy wiersz w pliku składa się z wielu wartości, po jednej dla każdej kolumny, oddzielonych przecinkami. Istnieją specjalne zasady postępowania z danymi z przecinkami.
Podobnie jak w przypadku plików JSON, istnieje wiele narzędzi w wielu językach programowania, w tym w Pythonie, do generowania i odczytywania plików CSV.
Konwertuj JSON na CSV
Możesz przekonwertować JSON na CSV za pomocą wbudowanych bibliotek JSON i CSV w Pythonie. Zaimportuj je do swojego kodu, dodając wiersze o treści „import json” i „import csv” w górnej części kodu.
Następnie użyj biblioteki JSON „Załadujmetoda importowania danych z pliku JSON. Zostanie załadowany jako słownik Pythona. Użyj słownika „Klucze", aby określić pola danych w pliku JSON, które staną się kolumnami w pliku CSV.
Użyj biblioteki CSV „DictWriter" klasy, aby utworzyć plik CSV z tymi kolumnami, określając je za pomocą funkcji DictWriter „nazwy pól" argument. Użyj jego „nagłówki piszące”, aby wyświetlić nazwy kolumn na górze pliku CSV.
Następnie wykonaj pętlę przez obiekt JSON za pomocą dla pętli. Połączenie metoda „writerow” obiektu CSV na każdym elemencie danych w pliku JSON, aby utworzyć odpowiedni wiersz w pliku CSV.
Złożone pliki JSON
Niektóre złożone pliki JSON mogą być trudniejsze do przedstawienia jako pliki CSV. Może to obejmować pliki, które nie są natychmiast dopasowywane do standardowej struktury wierszy i kolumn. Jeśli masz do czynienia z takim plikiem i chcesz go przekonwertować do CSV, masz kilka opcji.
Po pierwsze, możesz poszukać całkowitego zestawu pól danych, które występują w pliku JSON i ustawić je jako kolumny swojego CSV. Pozostaw pustą kolumnę w określonym wierszu, jeśli się tam nie pojawia. Użyj opcji "extrasaction='ignoruj'" w konfigurowaniu Pythona CSV DictWriter, aby automatycznie robił to dla pól, które nie występują w określonym fragmencie danych.
Możesz również rozważyć reprezentowanie pliku JSON jako wielu plików CSV, po jednym dla każdego typu danych, które są w nim reprezentowane. Użyj Pythona Jeśli instrukcje wykrywające, do którego pliku CSV należy zapisać konkretną część danych.
Ta technika może być również przydatna w przypadku zagnieżdżonych plików JSON, w których obiekty JSON zawierają inne obiekty. Te obiekty podrzędne można umieścić we własnym pliku CSV ze wskazaniem, któremu wierszowi w podstawowym pliku CSV odpowiadają.