Como converter CSV para JSON em Python FOSS

Como converter CSV para JSON em Python FOSS

O problema é que…

Converter um arquivo CSV para JSON usando Aspose.Cells FOSS em Python. Carregar o CSv com load_csv_workbook(), ler cada linha usando: iter_rows() para construir uma lista Python de dicionários, em seguida serialize a JSON usando o padrão json módulo.

Precondições

Para converter CSV para JSON usando Aspose.Cells FOSS em Python, certifique-se de que seu ambiente atenda aos seguintes requisitos.

  • Python 3.7 ou posterior instalado.
  • Instalar Aspose.Cells FOSS através de pip install aspose-cells-foss>=26.3.1
  • Importar a biblioteca usando: from aspose.cells_foss import load_csv_workbook
  • Familiaridade básica com o processamento de arquivos Python e o padrão json módulo

Etapas de conversão

Passo 1: Carregar o arquivo CSV

Utilize o load_csv_workbook() função de conveniência para carregar o arquivo CSV em uma nova pasta de trabalho. Isto inicializa a representação na memória dos dados da planilha.

from aspose.cells_foss import load_csv_workbook

workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

Passo 2: Leia cabeçalhos e linhas

Utilização: iter_rows(values_only=True) Para extrair todas as linhas como tuplas de valores de células. A primeira linha é tratada como a linha de cabeçalho.

all_rows = list(worksheet.cells.iter_rows(values_only=True))

# Read the header row (first row)
headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

Passo 3: Criar uma lista de dictos e serializá-los em JSON

Iterar as linhas restantes, construir um dict por linha teclado pelos nomes de cabeçalho, em seguida, usar json.dump() para escrever o arquivo JSON.

import json

rows = [dict(zip(headers, row)) for row in all_rows[1:]]

with open("output.json", "w", encoding="utf-8") as f:
    json.dump(rows, f, indent=2, default=str)

print(f"Converted {len(rows)} rows to output.json")

Exemplo de código

O exemplo completo de ponta a ponto que combina as três etapas:

import json
from aspose.cells_foss import load_csv_workbook

# Step 1: Load CSV
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

# Step 2: Extract all rows; first row is headers
all_rows = list(worksheet.cells.iter_rows(values_only=True))
if not all_rows:
    print("No data found in CSV")
else:
    headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

    # Step 3: Build list of dicts from remaining rows
    rows = [dict(zip(headers, row)) for row in all_rows[1:]]

    # Step 4: Write JSON
    with open("output.json", "w", encoding="utf-8") as f:
        json.dump(rows, f, indent=2, default=str)

    print(f"Converted {len(rows)} rows to output.json")

Formatos suportados

Aspose.Cells FOSS supports loading CSV files and exporting to JSON via the approach shown above. The library also supports direct save to other formats.

Formatos de imagemExtensãoDirecçãoNotas
CSV.csventrada de dadosCarga com: load_csv_workbook("file.csv")
JSON.- Não, não.produçãoConstruído com Python json.dump() após iteração de células
XLSX.xlsxInput/outputFormatos XML abertos Excel padrão
MARKDOWN.mdproduçãoUtilização: wb.save_as_markdown("file.md")

Ver também:

 Português