Este tutorial é apresentado para orientar sobre como converter JSON em CSV em Python. Ele contém uma referência ao recurso para configurar o ambiente Python, etapas detalhadas a serem seguidas para executar essa tarefa e um código Python de exemplo executável. Para escrever código JSON para CSV Python é bastante simples e não requer nenhuma outra ferramenta de terceiros.
Etapas para converter JSON para CSV em Python
- Configure o ambiente para usar o Aspose.Cells para Python via Java
- Crie ou carregue os dados JSON de origem na variável de string
- Crie um objeto de classe Workbook vazio onde os dados JSON serão salvos como CSV
- Obtenha uma referência ao primeiro worksheet na pasta de trabalho recém-criada
- Instancie o objeto da classe JsonLayoutOptions para personalizar o processo de conversão
- Usando a função JsonUtility.importData, transforme os dados JSON em CSV
- Salve a pasta de trabalho resultante como um arquivo CSV no disco
Essas etapas descrevem o processo compartilhando os recursos para configurar o ambiente Python e, em seguida, compartilhando o procedimento passo a passo para realizar essa tarefa. Temos que definir a string JSON diretamente ou carregá-la de algum arquivo, criar uma pasta de trabalho vazia ou carregar uma pasta de trabalho existente, obter a referência da planilha de destino onde os dados JSON devem ser importados, importar a string JSON para CSV usando o JsonUtility. importData() e, finalmente, salve a pasta de trabalho como CSV usando a função Workbook.save. Para converter JSON para CSV Python as classes relacionadas também são identificadas nestas etapas que devem ser usadas para a referida conversão.
Código para converter JSON para 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() |
Usamos JsonLayoutOptions.setArrayAsTable(True) que faz com que os dados sejam transportados como uma tabela, ou seja, os cabeçalhos são colocados apenas uma vez no início do arquivo e apenas os dados são copiados nas próximas linhas do arquivo. Se você quiser repetir os títulos para cada linha, remova esta chamada. Da mesma forma, enquanto a conversão de código JSON para CSV Python pode usar essa classe JsonLayoutOptions para decidir sobre a conversão de dados numéricos e de data em formato e tipo apropriados, remova completamente a linha de títulos, defina o estilo do título e muitas outras opções também.
Este artigo nos ensinou como converter JSON para CSV em Python. No entanto, se você quiser salvar a pasta de trabalho de saída em algum outro formato, como PDF, consulte o artigo em como converter Excel para PDF usando Python.