Ten samouczek ma na celu pomóc w konwertowaniu JSON na CSV w Pythonie. Zawiera odwołanie do zasobu dotyczącego konfigurowania środowiska Python, szczegółowe kroki, które należy wykonać, aby wykonać to zadanie, oraz uruchamialny przykładowy kod Pythona. Zapisanie kodu JSON w formacie CSV Python jest dość proste i nie wymaga żadnego innego narzędzia.
Kroki, aby przekonwertować JSON na CSV w Pythonie
- Skonfiguruj środowisko do używania Aspose.Cells dla Pythona przez Javę
- Utwórz lub załaduj źródłowe dane JSON do zmiennej łańcuchowej
- Utwórz pusty obiekt klasy Workbook, w którym dane JSON zostaną zapisane jako CSV
- Uzyskaj odwołanie do pierwszego worksheet w nowo utworzonym skoroszycie
- Utwórz instancję obiektu klasy JsonLayoutOptions, aby dostosować proces konwersji
- Za pomocą funkcji JsonUtility.importData przekształć dane JSON do formatu CSV
- Zapisz wynikowy skoroszyt jako plik CSV na dysku
Te kroki opisują proces, udostępniając zasoby do konfigurowania środowiska Python, a następnie udostępniając procedurę krok po kroku, aby wykonać to zadanie. Musimy ustawić ciąg JSON bezpośrednio lub załadować go z jakiegoś pliku, utworzyć pusty skoroszyt lub załadować istniejący skoroszyt, uzyskać odniesienie do docelowego arkusza, do którego mają zostać zaimportowane dane JSON, zaimportować ciąg JSON do CSV za pomocą JsonUtility. importData(), a na koniec zapisz skoroszyt jako CSV za pomocą funkcji Workbook.save. Aby konwertować JSON na CSV Python, w tych krokach identyfikuje się również klasy, które mają być użyte do wspomnianej konwersji.
Kod do konwersji JSON na CSV przy użyciu Pythona
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() |
Zastosowaliśmy JsonLayoutOptions.setArrayAsTable(True), który powoduje, że dane są transportowane jako tabela, tzn. nagłówki są umieszczane tylko raz na początku pliku, a następnie kopiowane są tylko dane w kolejnych wierszach pliku. Jeśli chcesz powtórzyć nagłówki w każdym wierszu, usuń to wywołanie. Podobnie, podczas konwertowania JSON na CSV kod Pythona może używać tej klasy JsonLayoutOptions do decydowania o konwersji danych liczbowych i dat do odpowiedniego formatu i typu, całkowicie usuwając wiersz nagłówków, ustawiając styl tytułu i wiele innych opcji.
Ten artykuł nauczył nas, jak przekonwertować JSON na CSV w Pythonie, jednak jeśli chcesz zapisać wyjściowy skoroszyt w innym formacie, takim jak PDF, zapoznaj się z artykułem na temat jak przekonwertować Excela na PDF za pomocą Pythona.