Kako pretvoriti JSON v CSV v Pythonu

Ženska roke kodira html in programira na zaslonu prenosnega računalnika, spleta, razvijalca.

Kako pretvoriti JSON v CSV v Pythonu

Zasluga slike: oatawa/iStock/GettyImages

Lahko pretvorite JSON v CSV v programskem jeziku Python z uporabo vgrajenih knjižnic, ki so priložene jeziku. Lahko se popeljete skozi objekt JSON in izpišete njegove ključe in vrednosti kot vrstice v datoteki vrednosti, ločeni z vejico. Upoštevajte, da vseh datotek JSON ni mogoče enostavno predstaviti kot posamezne datoteke CSV, zato boste, odvisno od oblike, morda morali uporabiti več datotek CSV, da boste vse podatke predstavili na uporaben način.

Razumevanje JSON in CSV

Datoteki JSON in CSV sta dva pogosta načina za predstavitev digitalnih podatkov. JSON pomeni Zapis predmeta JavaScript, in je način predstavitve podatkov kot ugnezdenih preslikav ključev v vrednosti in seznamov podatkov. Navdihuje ga, kako so podatki predstavljeni v programskem jeziku JavaScript, vendar ima veliko sodobnih programskih jezikov, vključno s Pythonom, orodja za obdelavo podatkov JSON.

Video dneva

A vrednost, ločena z vejico datoteka je še en način za predstavitev strukturiranih podatkov. Te datoteke se pogosto uporabljajo s preglednicami in podobnimi vrstami programov, tako da če želite

uvozite JSON v Excel lahko bi bilo koristno, da ga najprej pretvorite v datoteko CSV. Na splošno datoteke CSV vključujejo glave stolpcev na vrhu datoteke, ki označujejo, kaj je shranjeno v posameznem stolpcu. Nato je vsaka vrstica v datoteki sestavljena iz več vrednosti, po ena za vsak stolpec, ločenih z vejicami. Obstajajo posebna pravila za ravnanje s podatki z vejicami.

Tako kot pri datotekah JSON obstaja veliko orodij v številnih programskih jezikih, vključno s Pythonom, za ustvarjanje in branje datotek CSV.

Pretvorite JSON v CSV

JSON lahko pretvorite v CSV s pomočjo vgrajenih knjižnic JSON in CSV v Pythonu. Uvozite jih v kodo tako, da na vrh kode dodate vrstici z napisom "import json" in "import csv".

Nato uporabite knjižnico JSON "obremenitev" za uvoz podatkov iz datoteke JSON. Naložen bo kot slovar Python. Uporabite slovar "ključi", da določite podatkovna polja v datoteki JSON, ki bodo postala stolpci v datoteki CSV.

Uporabite knjižnico CSV "DictWriter" razreda, da ustvarite datoteko CSV s temi stolpci, pri čemer jih navedete z DictWriterjevim "imena polj" prepir. Uporabi njegovo "pisalne glave" za izpis imen stolpcev na vrhu CSV.

Nato pojdite skozi objekt JSON z a za zanko. Pokliči metoda "writerow" predmeta CSV za vsak podatkovni element v datoteki JSON, da ustvarite ustrezno vrstico v datoteki CSV.

Kompleksne datoteke JSON

Nekatere zapletene datoteke JSON je težje predstaviti kot datoteke CSV. To lahko vključuje datoteke, ki se ne ujemajo takoj s standardno strukturo vrstic in stolpcev. Če imate opravka s takšno datoteko in jo želite pretvoriti v CSV, imate na voljo nekaj možnosti.

Najprej lahko poiščete celoten nabor podatkovnih polj, ki se pojavljajo v datoteki JSON, in jih naredite za stolpce vašega CSV. Pustite stolpec v določeni vrstici prazen, če se tam ne pojavi. Uporabite možnost "extrasaction='ignore'" pri nastavitvi Python CSV DictWriter, da to samodejno naredi za polja, ki se ne pojavljajo v določenem delu podatkov.

Razmislite lahko tudi o predstavitvi datoteke JSON kot več datotek CSV, enega za vsako vrsto podatkov, ki so v njej predstavljeni. Uporabite Python če izjave za zaznavanje, v katero datoteko CSV je treba zapisati določen del podatkov.

Ta tehnika je lahko uporabna tudi za ugnezdene datoteke JSON, v katerih predmeti JSON vsebujejo druge predmete. Te podobjekte je mogoče vstaviti v svojo datoteko CSV z navedbo, kateri vrstici v primarnem CSV-ju ustrezajo.