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
jsonmó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 imagem | Extensão | Direcção | Notas |
|---|---|---|---|
| CSV | .csv | entrada de dados | Carga com: load_csv_workbook("file.csv") |
| JSON | .- Não, não. | produção | Construído com Python json.dump() após iteração de células |
| XLSX | .xlsx | Input/output | Formatos XML abertos Excel padrão |
| MARKDOWN | .md | produção | Utilização: wb.save_as_markdown("file.md") |