Como Converter CSV para JSON em Python FOSS

Como Converter CSV para JSON em Python FOSS

Problema

Converta um arquivo CSV para JSON usando Aspose.Cells FOSS em Python. Carregue o CSV com load_csv_workbook(), leia cada linha usando iter_rows() para construir uma lista Python de dicionários, então serialize para JSON usando o padrão json módulo.

Pré-requisitos

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
  • Instale Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importe a biblioteca usando from aspose.cells_foss import load_csv_workbook
  • Familiaridade básica com o manuseio de arquivos Python e o padrão json módulo

Etapas de Conversão

Etapa 1: Carregar o Arquivo CSV

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

from aspose.cells_foss import load_csv_workbook

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

Etapa 2: Ler Cabeçalhos e Linhas

Use iter_rows(values_only=True) para extrair todas as linhas como tuplas de valores de célula. 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])]

Etapa 3: Construir uma Lista de Dicionários e Serializar para JSON

Itere as linhas restantes, construa um dicionário por linha usando os nomes do cabeçalho como chaves, então use json.dump() para gravar 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 ponta combinando todas 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.

FormatoExtensãoObservações
CSV (entrada).csvCarregar com load_csv_workbook("file.csv")
JSON (saída).jsonConstruído com Python json.dump() após iterar as células
XLSX (entrada/saída).xlsxFormato padrão Excel Open XML
Markdown (saída).mdUsar wb.save_as_markdown("file.md")

Veja Também

 Português