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
- Configurar el entorno para usar Aspose.Cells para Python a través de Java
- Cree o cargue los datos JSON de origen en la variable de cadena
- Cree un objeto de clase Workbook vacío donde los datos JSON se guardarán como CSV
- Obtenga una referencia al primer worksheet en el libro de trabajo recién creado
- Crea una instancia del objeto de clase JsonLayoutOptions para personalizar el proceso de conversión
- Usando la función JsonUtility.importData, transforme los datos JSON a CSV
- 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.