Kako pretvoriti JSON u CSV u Pythonu

click fraud protection
Žena rukuje kodiranjem html-a i programiranjem na zaslonu prijenosnog računala, weba, programera.

Kako pretvoriti JSON u CSV u Pythonu

Zasluga slike: oatawa/iStock/GettyImages

Možete pretvoriti JSON u CSV u programskom jeziku Python korištenjem ugrađenih biblioteka koje dolaze s jezikom. Možete proći kroz JSON objekt i ispisati njegove ključeve i vrijednosti kao retke u datoteci vrijednosti odvojene zarezima. Imajte na umu da se sve JSON datoteke ne mogu lako predstaviti kao pojedinačni CSV-ovi, pa ćete, ovisno o formatu, možda morati koristiti više CSV datoteka da biste sve podatke predstavili na koristan način.

Razumijevanje JSON-a i CSV-a

JSON i CSV datoteke su dva uobičajena načina predstavljanja digitalnih podataka. JSON je kratica za Zapis objekata JavaScript, i to je način predstavljanja podataka kao ugniježđenih mapiranja ključeva u vrijednosti, kao i popisa podataka. Inspiriran je načinom na koji su podaci predstavljeni u programskom jeziku JavaScript, ali mnogi moderni programski jezici uključujući Python imaju alate za obradu JSON podataka.

Video dana

A vrijednost odvojena zarezom

datoteka je još jedan način predstavljanja strukturiranih podataka. Te se datoteke često koriste s proračunskim tablicama i sličnim vrstama programa, pa ako želite uvezite JSON u Excel može biti korisno prvo ga pretvoriti u CSV datoteku. Općenito, CSV datoteke uključuju zaglavlja stupaca na vrhu datoteke koja pokazuju što je pohranjeno u svakom stupcu. Zatim se svaki redak u datoteci sastoji od više vrijednosti, po jedna za svaki stupac, odvojenih zarezima. Postoje posebna pravila za rukovanje podacima sa zarezima.

Baš kao i kod JSON datoteka, postoje mnogi alati u mnogim programskim jezicima, uključujući Python, za generiranje i čitanje CSV datoteka.

Pretvorite JSON u CSV

Možete pretvoriti JSON u CSV koristeći ugrađene JSON i CSV biblioteke u Pythonu. Uvezite ih u svoj kôd dodavanjem redaka koji govore "import json" i "import csv" pri vrhu koda.

Zatim upotrijebite JSON knjižnicu "opterećenje" metoda za uvoz podataka iz JSON datoteke. Učitat će se kao Python rječnik. Koristite rječnik "tipke" za određivanje podatkovnih polja u JSON datoteci koja će postati stupci u vašoj CSV datoteci.

Koristite CSV knjižnicu "DictWriter" klase za stvaranje CSV datoteke s tim stupcima, navodeći ih pomoću DictWriterovog "imena polja" argument. Koristi svoj "zaglavlja za pisanje" metoda za izlaz naziva stupaca na vrhu CSV-a.

Zatim prođite kroz JSON objekt pomoću a za petlju. Poziv metoda "writerow" CSV objekta na svakom elementu podataka u JSON datoteci kako bi se stvorio odgovarajući redak u CSV datoteci.

Složene JSON datoteke

Neke složene JSON datoteke može biti teže predstaviti kao CSV. To može uključivati ​​datoteke koje se ne uklapaju odmah u standardnu ​​strukturu redaka i stupca. Ako imate posla s takvom datotekom i želite je pretvoriti u CSV, imate nekoliko mogućnosti.

Prvo, možete potražiti ukupan skup podatkovnih polja koja se pojavljuju u JSON datoteci i učiniti ih stupcima vašeg CSV-a. Ostavite stupac prazan u određenom retku ako se tamo ne pojavljuje. Koristite opciju "extrasaction='ignore'" u postavljanju Python CSV DictWritera da to automatski učini za polja koja se ne pojavljuju u određenom dijelu podataka.

Također možete razmotriti predstavljanje JSON datoteke kao više CSV-ova, po jedan za svaku vrstu podataka koji su u njoj predstavljeni. Koristite Python ako izjave za otkrivanje u koju bi CSV datoteku određeni dio podataka trebao biti upisan.

Ova tehnika također može biti korisna za ugniježđene JSON datoteke, u kojima JSON objekti sadrže druge objekte. Ovi pod-objekti mogu se staviti u vlastitu CSV datoteku s naznakom kojem retku primarnog CSV-a odgovaraju.