Cómo convertir JSON a CSV en Python

Este tutorial se presenta como una guía sobre cómo convertir JSON a CSV en Python. Contiene una referencia al recurso para configurar el entorno de Python, los pasos detallados que se deben seguir para realizar esta tarea y un código Python de muestra ejecutable. Escribir código JSON a CSV Python es bastante simple y no requiere ninguna otra herramienta de terceros.

Pasos para convertir JSON a CSV en Python

  1. Configurar el entorno para usar Aspose.Cells para Python a través de Java
  2. Cree o cargue los datos JSON de origen en la variable de cadena
  3. Cree un objeto de clase Workbook vacío donde los datos JSON se guardarán como CSV
  4. Obtenga una referencia al primer worksheet en el libro de trabajo recién creado
  5. Crea una instancia del objeto de clase JsonLayoutOptions para personalizar el proceso de conversión
  6. Usando la función JsonUtility.importData, transforme los datos JSON a CSV
  7. Guarde el libro de trabajo resultante como un archivo CSV en el disco

Estos pasos describen el proceso compartiendo los recursos para configurar el entorno de Python y luego compartiendo el procedimiento paso a paso para realizar esta tarea. Tenemos que configurar la cadena JSON directamente o cargarla desde algún archivo, crear un libro de trabajo vacío o cargar un libro de trabajo existente, obtener la referencia a la hoja de trabajo de destino donde se importarán los datos JSON, importar la cadena JSON a CSV usando JsonUtility. importData() y finalmente guarde el libro de trabajo como CSV usando la función Workbook.save. Para convertir JSON a CSV, las clases relacionadas con Python también se identifican en estos pasos que se utilizarán para dicha conversión.

Código para convertir JSON a CSV usando Python

import jpype
import asposecells
# Start JVM
jpype.startJVM()
from asposecells.api import License, Workbook, JsonLayoutOptions, JsonUtility, SaveFormat
# Load License to avoid trial version restriction during JSON to CSV conversion
licenseJsonToCsv = License()
licenseJsonToCsv.setLicense("Aspose.Cells.lic")
# load JSON data
jsonSourceString = '[{"Country Name":"Afghanistan","Code":4},{"Country Name":"Albania","Code":8},{"Country Name":"Algeria","Code":12},{"Country Name":"American Samoa","Code":16},{"Country Name":"Andorra ","Code":20},{"Country Name":"Angola","Code":24},{"Country Name":"Anguila","Code":660},{"Country Name":"Antigua and Barbuda","Code":28},{"Country Name":"Argentina","Code":32},{"Country Name":"Armenia ","Code":51},{"Country Name":"Aruba","Code":533},{"Country Name":"Australia","Code":36},{"Country Name":"Austria","Code":40},{"Country Name":"Azerbaijan ","Code":31}]'
# Create an empty workbook to save the JSON data as CSV in it
workbookForCSV = Workbook()
# Get a reference to the first worksheet in the default worksheets collection
destWorksheet = workbookForCSV.getWorksheets().get(0)
# Create and configure the JsonLayoutOptions object to read the data from JSON string data
layoutOptions = JsonLayoutOptions()
layoutOptions.setArrayAsTable(True)
# Import data into CSV file from the JSON string data
JsonUtility.importData(jsonSourceString, destWorksheet.getCells(), 0, 0, layoutOptions)
# Save the workbook as CSV file
workbookForCSV.save("output.csv", SaveFormat.CSV)
# Shutdown the JVM
jpype.shutdownJVM()

Hemos utilizado JsonLayoutOptions.setArrayAsTable(True) que hace que los datos se transporten como una tabla, es decir, los encabezados se colocan una sola vez al principio del archivo y luego solo se copian los datos en las siguientes líneas del archivo. Si desea repetir los encabezados de cada línea, elimine esta llamada. De manera similar, mientras convierte JSON a CSV, el código Python puede usar esta clase JsonLayoutOptions para decidir sobre la conversión de los datos numéricos y de fecha al formato y tipo apropiados, eliminar por completo la fila de encabezados, establecer el estilo del título y muchas otras opciones también.

Este artículo nos ha enseñado cómo convertir JSON a CSV en Python; sin embargo, si desea guardar el libro de trabajo de salida en algún otro formato como PDF, consulte el artículo sobre cómo convertir Excel a PDF usando Python.

 Español