Comment convertir JSON en CSV en Python

Ce didacticiel est présenté pour vous guider sur la façon de convertir JSON en CSV en Python. Il contient une référence à la ressource de configuration de l’environnement Python, les étapes détaillées à suivre pour effectuer cette tâche et un exemple de code Python exécutable. Écrire du code JSON vers CSV Python est assez simple et ne nécessite aucun autre outil tiers.

Étapes pour convertir JSON en CSV en Python

  1. Configurer l’environnement pour utiliser Aspose.Cells pour Python via Java
  2. Créer ou charger les données JSON source dans la variable de chaîne
  3. Créez un objet de classe Workbook vide dans lequel les données JSON seront enregistrées au format CSV
  4. Obtenir une référence au premier worksheet dans le classeur nouvellement créé
  5. Instanciez l’objet de classe JsonLayoutOptions pour personnaliser le processus de conversion
  6. À l’aide de la fonction JsonUtility.importData, transformez les données JSON en CSV
  7. Enregistrez le classeur résultant en tant que fichier CSV sur le disque

Ces étapes décrivent le processus en partageant les ressources pour configurer l’environnement Python, puis en partageant la procédure par étapes pour effectuer cette tâche. Nous devons définir la chaîne JSON directement ou la charger à partir d’un fichier, créer un classeur vide ou charger un classeur existant, obtenir la référence à la feuille de calcul cible où les données JSON doivent être importées, importer la chaîne JSON au format CSV à l’aide de JsonUtility. fonction importData(), et enfin enregistrez le classeur au format CSV à l’aide de la fonction Workbook.save. Pour convertir JSON en CSV Python, des classes liées sont également identifiées dans ces étapes qui doivent être utilisées pour ladite conversion.

Code pour convertir JSON en CSV en utilisant 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()

Nous avons utilisé JsonLayoutOptions.setArrayAsTable(True) qui entraîne le transport des données sous forme de tableau, c’est-à-dire que les en-têtes sont placés une seule fois au début du fichier, puis seules les données sont copiées dans les lignes suivantes du fichier. Si vous souhaitez répéter les en-têtes pour chaque ligne, supprimez cet appel. De même, lors de la conversion du code JSON en CSV Python, vous pouvez utiliser cette classe JsonLayoutOptions pour décider de la conversion des données numériques et de date dans le format et le type appropriés, supprimez complètement la ligne d’en-têtes, définissez le style du titre et de nombreuses autres options également.

Cet article nous a appris à convertir JSON en CSV en Python. Toutefois, si vous souhaitez enregistrer le classeur de sortie dans un autre format tel que PDF, reportez-vous à l’article sur comment convertir Excel en PDF en utilisant Python.

 Français