Jak przekonwertować CSV na JSON w Pythonie FOSS

Jak przekonwertować CSV na JSON w Pythonie FOSS

Problem

Konwertuj plik CSV na JSON przy użyciu Aspose.Cells FOSS w Pythonie. Załaduj CSV za pomocą load_csv_workbook(), odczytaj każdy wiersz przy użyciu iter_rows(), aby zbudować listę słowników w Pythonie, a następnie zserializuj do JSON przy użyciu standardowego json modułu.

Wymagania wstępne

Aby przekonwertować CSV na JSON przy użyciu Aspose.Cells FOSS w Pythonie, upewnij się, że Twoje środowisko spełnia następujące wymagania.

  • Python 3.7 lub nowszy zainstalowany
  • Zainstaluj Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Importuj bibliotekę używając from aspose.cells_foss import load_csv_workbook
  • Podstawowa znajomość obsługi plików w Pythonie i standardowego modułu json

Kroki konwersji

Krok 1: Załaduj plik CSV

Użyj funkcji load_csv_workbook(), aby załadować plik CSV do nowego skoroszytu. To inicjalizuje pamięciową reprezentację danych arkusza kalkulacyjnego.

from aspose.cells_foss import load_csv_workbook

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

Krok 2: Odczytaj nagłówki i wiersze

Użyj iter_rows(values_only=True), aby wyodrębnić wszystkie wiersze jako krotki wartości komórek. Pierwszy wiersz jest traktowany jako wiersz nagłówka.

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])]

Krok 3: Zbuduj listę słowników i serializuj do JSON

Iteruj pozostałe wiersze, zbuduj słownik dla każdego wiersza, kluczowany nazwami nagłówków, a następnie użyj json.dump() do zapisania pliku 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")

Przykład kodu

Kompletny przykład end‑to‑end łączący wszystkie trzy kroki:

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")

Obsługiwane formaty

Aspose.Cells FOSS obsługuje ładowanie plików CSV i eksportowanie do JSON przy użyciu podejścia przedstawionego powyżej. Biblioteka obsługuje również bezpośrednie zapisywanie do innych formatów.

FormatRozszerzenieUwagi
CSV (wejście).csvŁaduj przy użyciu load_csv_workbook("file.csv")
JSON (wyjście).jsonZbudowany w Pythonie json.dump() po iteracji komórek
XLSX (wejście/wyjście).xlsxStandardowy format Excel Open XML
Markdown (wyjście).mdUżyj wb.save_as_markdown("file.md")

Zobacz także

 Polski