Jak przekonwertować JSON na CSV w Pythonie

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

  1. Skonfiguruj środowisko do używania Aspose.Cells dla Pythona przez Javę
  2. Utwórz lub załaduj źródłowe dane JSON do zmiennej łańcuchowej
  3. Utwórz pusty obiekt klasy Workbook, w którym dane JSON zostaną zapisane jako CSV
  4. Uzyskaj odwołanie do pierwszego worksheet w nowo utworzonym skoroszycie
  5. Utwórz instancję obiektu klasy JsonLayoutOptions, aby dostosować proces konwersji
  6. Za pomocą funkcji JsonUtility.importData przekształć dane JSON do formatu CSV
  7. 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.

 Polski