Come convertire JSON in CSV in Python

click fraud protection
La donna passa la codifica html e la programmazione su schermo portatile, Web, sviluppatore.

Come convertire JSON in CSV in Python

Credito immagine: oatawa/iStock/GettyImages

Puoi convertire Da JSON a CSV nel linguaggio di programmazione Python utilizzando le librerie integrate fornite con la lingua. È possibile scorrere l'oggetto JSON ed emettere le sue chiavi e i suoi valori come righe in un file di valori separati da virgole. Tieni presente che non tutti i file JSON possono essere facilmente rappresentati come singoli CSV, quindi, a seconda del formato, potrebbe essere necessario utilizzare più file CSV per rappresentare tutti i dati in modo utile.

Comprensione di JSON e CSV

I file JSON e CSV sono due modi comuni per rappresentare i dati digitali. JSON sta per Notazione oggetto JavaScript, ed è un modo per rappresentare i dati come mapping nidificati di chiavi su valori, nonché elenchi di dati. È ispirato dal modo in cui i dati sono rappresentati nel linguaggio di programmazione JavaScript, ma molti linguaggi di programmazione moderni, incluso Python, dispongono di strumenti per l'elaborazione dei dati JSON.

Video del giorno

UN valore separato da virgole file è un altro modo per rappresentare i dati strutturati. Questi file sono spesso usati con fogli di calcolo e programmi simili, quindi se vuoi importa JSON in Excel può essere utile convertirlo prima in un file CSV. In genere, i file CSV includono intestazioni di colonna nella parte superiore del file che indicano cosa è memorizzato in ciascuna colonna. Quindi, ogni riga del file è composta da più valori, uno per ogni colonna, separati da virgole. Esistono regole speciali per la gestione dei dati contenenti virgole.

Proprio come con i file JSON, ci sono molti strumenti in molti linguaggi di programmazione, incluso Python, per generare e leggere file CSV.

Converti JSON in CSV

Puoi convertire JSON in CSV utilizzando le librerie JSON e CSV integrate in Python. Importali nel tuo codice aggiungendo righe che dicono "import json" e "import csv" nella parte superiore del codice.

Quindi, usa la libreria JSON "carico" metodo per importare i dati da un file JSON. Verrà caricato come dizionario Python. Usa il dizionario "chiavi" per determinare i campi dati nel file JSON che diventeranno le colonne nel file CSV.

Usa la libreria CSV "DictWriter" class per creare un file CSV con quelle colonne, specificandole usando il DictWriter "nomi di campo" discussione. Usa il suo "intestazioni" per visualizzare i nomi delle colonne nella parte superiore del CSV.

Quindi, scorrere l'oggetto JSON con a per ciclo. Chiamata il metodo "writerow" dell'oggetto CSV su ciascun elemento di dati nel file JSON per creare una riga corrispondente nel file CSV.

File JSON complessi

Alcuni file JSON complessi possono essere più difficili da rappresentare come CSV. Ciò può includere file che non si allineano immediatamente a una struttura di righe e colonne standard. Se hai a che fare con un file di questo tipo e vuoi convertirlo in un CSV, hai alcune opzioni.

Innanzitutto, puoi cercare il set totale di campi dati che si verificano nel file JSON e trasformarli nelle colonne del tuo CSV. Lascia una colonna vuota in una particolare riga se non appare lì. Usa l'opzione "extrasaction='ignora'" nella configurazione di Python CSV DictWriter per farlo automaticamente per i campi che non si verificano in un particolare pezzo di dati.

Puoi anche considerare di rappresentare il file JSON come più CSV, uno per ogni tipo di dati in esso rappresentato. Usa Python Se istruzioni per rilevare in quale file CSV deve essere scritto un particolare pezzo di dati.

Questa tecnica può essere utile anche per i file JSON nidificati, in cui gli oggetti JSON contengono altri oggetti. Questi oggetti secondari possono essere inseriti nel proprio file CSV con l'indicazione di quale riga nel CSV primario corrispondono.