Cum se convertesc JSON în CSV în Python

click fraud protection
Mâinile femeii codifică html și programează pe ecran laptop, Web, dezvoltator.

Cum se convertesc JSON în CSV în Python

Credit imagine: oatawa/iStock/GettyImages

Puteți converti JSON în CSV în limbajul de programare Python folosind biblioteci încorporate care vin împreună cu limbajul. Puteți parcurge obiectul JSON și puteți scoate cheile și valorile acestuia sub formă de rânduri într-un fișier cu valori separate prin virgulă. Rețineți că nu toate fișierele JSON pot fi reprezentate cu ușurință ca un singur CSV, așa că, în funcție de format, poate fi necesar să utilizați mai multe fișiere CSV pentru a reprezenta toate datele într-un mod util.

Înțelegerea JSON și CSV

Fișierele JSON și CSV sunt două moduri comune de a reprezenta datele digitale. JSON înseamnă Notarea obiectelor JavaScript, și este o modalitate de a reprezenta datele ca mapări imbricate ale cheilor la valori, precum și ca liste de date. Este inspirat de modul în care datele sunt reprezentate în limbajul de programare JavaScript, dar multe limbaje de programare moderne, inclusiv Python, au instrumente pentru procesarea datelor JSON.

Videoclipul zilei

A valoare separată prin virgulă fișierul este o altă modalitate de a reprezenta datele structurate. Aceste fișiere sunt adesea folosite cu foi de calcul și tipuri similare de programe, așa că dacă doriți importați JSON în Excel poate fi util să îl convertiți mai întâi într-un fișier CSV. În general, fișierele CSV includ anteturi de coloană în partea de sus a fișierului, indicând ce este stocat în fiecare coloană. Apoi, fiecare linie din fișier constă din mai multe valori, câte una pentru fiecare coloană, separate prin virgule. Există reguli speciale pentru manipularea datelor cu virgule în ele.

La fel ca în cazul fișierelor JSON, există multe instrumente în multe limbaje de programare, inclusiv Python, pentru generarea și citirea fișierelor CSV.

Convertiți JSON în CSV

Puteți converti JSON în CSV folosind bibliotecile JSON și CSV încorporate în Python. Importă-le în codul tău adăugând linii care spun „import json” și „import csv” în partea de sus a codului.

Apoi, utilizați biblioteca JSON "sarcină" pentru a importa datele dintr-un fișier JSON. Va fi încărcat ca dicționar Python. Folosește dicționarul „chei" pentru a determina câmpurile de date din fișierul JSON care vor deveni coloanele din fișierul dvs. CSV.

Utilizați biblioteca CSV "DictWriter" clasă pentru a crea un fișier CSV cu acele coloane, specificându-le folosind DictWriter "nume de câmpuri" argument. Folosește-i „antete de scris" pentru a afișa numele coloanelor din partea de sus a fișierului CSV.

Apoi, treceți în buclă prin obiectul JSON cu a pentru buclă. Apel metoda „writerow” a obiectului CSV pe fiecare element de date din fișierul JSON pentru a crea un rând corespunzător în fișierul CSV.

Fișiere JSON complexe

Unele fișiere JSON complexe pot fi mai greu de reprezentat ca CSV. Aceasta poate include fișiere care nu se aliniază imediat la o structură standard de rânduri și coloane. Dacă aveți de-a face cu un astfel de fișier și doriți să îl convertiți într-un CSV, aveți câteva opțiuni.

În primul rând, puteți căuta setul total de câmpuri de date care apar în fișierul JSON și puteți face din acestea coloanele CSV. Lăsați o coloană goală într-un anumit rând dacă nu apare acolo. Utilizați opțiunea "extrasaction='ignora'" în configurarea Python CSV DictWriter pentru a face automat acest lucru pentru câmpurile care nu apar într-o anumită bucată de date.

De asemenea, puteți lua în considerare reprezentarea fișierului JSON ca mai multe CSV-uri, câte unul pentru fiecare tip de date care sunt reprezentate în acesta. Folosiți Python dacă instrucțiuni pentru a detecta în ce fișier CSV ar trebui să fie scrisă o anumită bucată de date.

Această tehnică poate fi utilă și pentru fișierele JSON imbricate, în care obiectele JSON conțin alte obiecte. Aceste subobiecte pot fi puse în propriul fișier CSV cu o indicație a rândului din CSV primar căruia îi corespund.