Ez az oktatóanyag bemutatja, hogyan lehet konvertálni a(z) JSON fájlt CSV-re a Pythonban. Hivatkozást tartalmaz a Python-környezet konfigurálásához szükséges erőforrásra, a feladat végrehajtásához követendő részletes lépéseket, valamint egy futtatható Python-kódot. A JSON írása CSV Python-kódba meglehetősen egyszerű, és nem igényel semmilyen harmadik féltől származó eszközt.
A JSON CSV-vé konvertálásának lépései Pythonban
- Állítsa be a környezetet az Aspose.Cells for Python használatához Java-n keresztül
- Hozza létre vagy töltse be a forrás JSON-adatokat a karakterlánc-változóba
- Hozzon létre egy üres Workbook osztályobjektumot, amelybe a JSON-adatokat CSV-ként menti a rendszer
- Hivatkozás az újonnan létrehozott munkafüzet első worksheet részére
- Példányosítsa a JsonLayoutOptions osztályobjektumot a konverziós folyamat testreszabásához
- A JsonUtility.importData függvény segítségével alakítsa át a JSON-adatokat CSV-vé
- Mentse az eredményül kapott munkafüzetet CSV-fájlként a lemezre
Ezek a lépések a Python-környezet beállításához szükséges erőforrások megosztásával, majd a feladat végrehajtásához szükséges lépésenkénti eljárás megosztásával írják le a folyamatot. A JSON karakterláncot közvetlenül be kell állítanunk, vagy valamilyen fájlból kell betöltenünk, üres munkafüzetet kell létrehoznunk, vagy be kell töltenünk egy meglévő munkafüzetet, meg kell szereznünk a hivatkozást arra a célmunkalapra, ahová a JSON adatokat importálni kell, a JSON karakterláncot a JsonUtility segítségével CSV-be importálni. importData() függvényt, és végül mentse a munkafüzetet CSV-ként a Workbook.save függvény segítségével. A JSON CSV-vé konvertálásához Python kapcsolódó osztályok is azonosíthatók ezekben a lépésekben, amelyeket az említett átalakításhoz kell használni.
Kód a JSON CSV-vé konvertálásához Python használatával
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() |
A JsonLayoutOptions.setArrayAsTable(True) függvényt használtuk, amely az adatok táblaként történő átvitelét eredményezi, azaz a fejlécek csak egyszer kerülnek a fájl elejére, majd csak az adatok másolása a fájl következő soraiba. Ha meg szeretné ismételni az egyes sorok fejléceit, távolítsa el ezt a hívást. Hasonlóképpen, míg a JSON konvertálása CSV-vé Python kód használhatja ezt a JsonLayoutOptions osztályt a numerikus és dátumadatok megfelelő formátumba és típusba való konvertálásához, teljesen eltávolíthatja a címsort, beállíthatja a címstílust és sok más lehetőséget is.
Ez a cikk megtanította nekünk, hogyan konvertálhat JSON-t CSV-vé Pythonban, azonban ha a kimeneti munkafüzetet más formátumba, például PDF-be szeretné menteni, tekintse meg a hogyan lehet az Excelt PDF-be konvertálni Python segítségével című cikket.