Kuinka muuntaa CSV JSON:ksi Pythonissa FOSS

Kuinka muuntaa CSV JSON:ksi Pythonissa FOSS

Ongelma

Muunna CSV-tiedosto JSON-muotoon käyttämällä Aspose.Cells FOSS:ia Pythonissa. Lataa CSV load_csv_workbook():lla, lue jokainen rivi iter_rows():lla rakentaaksesi Python-listan sanakirjoja, ja sarjoita sitten JSONiin käyttäen standard json-moduulia.

Edellytykset

Muuntaaksesi CSV:n JSON:ksi Aspose.Cells FOSS:ia käyttäen Pythonissa, varmista, että ympäristösi täyttää seuraavat vaatimukset.

  • Python 3.7 tai uudempi asennettuna
  • Asenna Aspose.Cells FOSS via pip install aspose-cells-foss>=26.3.1
  • Tuo kirjasto käyttäen from aspose.cells_foss import load_csv_workbook
  • Perustiedot Pythonin tiedostojen käsittelystä ja standardi json-moduulista

Muuntaamisen vaiheet

Vaihe 1: Lataa CSV‑tiedosto

Käytä load_csv_workbook()-apufunktiota ladataksesi CSV-tiedoston uuteen työkirjaan. Tämä alustaa taulukkolaskentatietojen muistissa olevan esityksen.

from aspose.cells_foss import load_csv_workbook

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

Vaihe 2: Lue otsikot ja rivit

Käytä iter_rows(values_only=True) kaikkien rivien poimimiseen solu­arvojen tupleina. Ensimmäistä riviä käsitellään otsikkorivinä.

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

Vaihe 3: Rakenna sanakirjojen lista ja sarjoita JSONiin

Iteroi jäljellä olevat rivit, rakenna jokaiselle riville sanakirja, jonka avaimet ovat otsikkonimet, ja käytä sitten json.dump() kirjoittamaan JSON‑tiedosto.

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

Koodiesimerkki

Täydellinen alusta loppuun -esimerkki, joka yhdistää kaikki kolme vaihetta:

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

Tuetut tiedostomuodot

Aspose.Cells FOSS tukee CSV‑tiedostojen lataamista ja JSON‑muotoon vientiä yllä esitetyn lähestymistavan avulla. Kirjasto tukee myös suoraa tallennusta muihin formaatteihin.

MuotoTiedostopääteHuomautukset
CSV (input).csvLataa load_csv_workbook("file.csv")
JSON (output).jsonRakennettu Pythonilla json.dump() solujen läpikäynnin jälkeen
XLSX (input/output).xlsxStandardi Excel Open XML -muoto
Markdown (output).mdKäytä wb.save_as_markdown("file.md")

Katso myös

 Suomi