Convertir archivo CSV a archivo JSON en Python

Muhammad Waiz Khan 30 enero 2023
  1. Convierta un archivo CSV a un archivo JSON en Python usando el método json.dump() en Python
  2. Convierta un archivo CSV a un archivo JSON en Python usando el método Dataframe.to_json() en Python
Convertir archivo CSV a archivo JSON en Python

Este tutorial demostrará varios métodos para leer datos de un archivo CSV y guardarlos como un archivo JSON en Python. En las aplicaciones web, el formato utilizado para guardar y transferir datos es el formato JSON. Supongamos que tenemos datos guardados en formato CSV (Comma Separated Values) y necesitamos convertirlos a formato JSON.

Entonces, necesitamos algún método para convertir los datos en formato CSV a formato JSON. Podemos convertir el archivo CSV a un archivo JSON en Python utilizando los siguientes métodos.

Convierta un archivo CSV a un archivo JSON en Python usando el método json.dump() en Python

El método json.dump(obj, fp, indent=None, Seperator=None) toma los datos obj como entrada y serializa obj como el flujo con formato JSON, y lo escribe en el objeto tipo archivo fp.

El argumento de la palabra clave indent se puede utilizar si queremos añadir la sangría a los datos para que sean más fáciles de leer. Para el valor del argumento indent igual a 0, el método agrega una nueva línea después de cada valor y agrega el número de indent de \t al comienzo de cada línea.

El argumento separator es igual a (', ', ': ') si el argumento indent es None; de lo contrario, es igual a (', ', ': ').

El siguiente código de ejemplo demuestra cómo utilizar el método json.dump() para guardar los datos como archivo JSON en 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)

Convierta un archivo CSV a un archivo JSON en Python usando el método Dataframe.to_json() en Python

El método Dataframe.to_json(path, orient) del módulo Pandas, toma DataFrame y path como entrada y lo convierte en una cadena JSON, y lo guarda en la path proporcionada. Si no se proporciona una path, el método devuelve la cadena JSON como salida y no devuelve nada si se proporciona la path.

El argumento orient es útil para especificar cómo queremos que se formatee nuestra cadena JSON, y hay varias opciones para la entrada de Series y DataFrame.

Dado que el método Dataframe.to_json() toma un DataFrame como entrada, usaremos el método pandas.readcsv() para leer primero el archivo CSV como DataFrame. El siguiente código de ejemplo demuestra cómo convertir un archivo CSV en un archivo JSON en Python usando el método Dataframe.to_json().

import pandas as pd

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

Artículo relacionado - Python CSV

Artículo relacionado - Python JSON