Converti file CSV in file JSON in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Converti file CSV in file JSON in Python utilizzando il metodo json.dump() in Python
  2. Converti file CSV in file JSON in Python utilizzando il metodo Dataframe.to_json() in Python
Converti file CSV in file JSON in Python

Questo tutorial mostrerà vari metodi per leggere i dati da un file CSV e salvarli come file JSON in Python. Nelle applicazioni Web, il formato utilizzato per salvare e trasferire i dati è il formato JSON. Supponiamo di avere dati salvati in formato CSV (Comma Separated Values) e di doverli convertire in formato JSON.

Quindi, abbiamo bisogno di un metodo per convertire i dati in formato CSV in formato JSON. Possiamo convertire il file CSV in un file JSON in Python utilizzando i seguenti metodi.

Converti file CSV in file JSON in Python utilizzando il metodo json.dump() in Python

Il metodo json.dump(obj, fp, indent=None, Seperator=None) accetta i dati obj come input e serializza obj come flusso formattato JSON e lo scrive nell’oggetto simile a file fp.

L’argomento della parola chiave indent può essere utilizzato se vogliamo aggiungere il rientro ai dati per facilitarne la lettura. Per il valore dell’argomento indent uguale a 0, il metodo aggiunge una nuova riga dopo ogni valore e aggiunge il numero indent di \t all’inizio di ogni riga.

L’argomento separator è uguale a (', ', ': ') se l’argomento indent è None; altrimenti è uguale a (', ', ': ').

Il codice di esempio seguente mostra come utilizzare il metodo json.dump() per salvare i dati come file JSON in Python.

with open("file.csv", "r") as file_csv:
    fieldnames = ("field1", "field2")
    reader = csv.DictReader(file_csv, fieldnames)

with open("myfile.json", "w") as file_json:
    for row in reader:
        json.dump(row, file_json)

Converti file CSV in file JSON in Python utilizzando il metodo Dataframe.to_json() in Python

Il metodo Dataframe.to_json(path, orient) del modulo Pandas, prende DataFrame e path come input e lo converte in una stringa JSON, e lo salva nel path fornito. Se non viene fornito alcun path, il metodo restituisce la stringa JSON come output e non restituisce nulla se viene fornito il path.

L’argomento orient è utile per specificare come vogliamo che la nostra stringa JSON sia formattata, e ci sono varie opzioni sia per l’input Series che DataFrame.

Poiché il metodo Dataframe.to_json() accetta un DataFrame come input, useremo il metodo pandas.readcsv() per leggere prima il file CSV come DataFrame. Il codice di esempio seguente mostra come convertire un file CSV in un file JSON in Python utilizzando il metodo Dataframe.to_json().

import pandas as pd

csv_data = pd.read_csv("test.csv", sep=",")
csv_data.to_json("test.json", orient="records")

Articolo correlato - Python CSV

Articolo correlato - Python JSON