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
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.