Πώς να μετατρέψετε CSV σε JSON σε Python FOSS

Πώς να μετατρέψετε CSV σε JSON σε Python FOSS

Πρόβλημα

Μετατρέψτε ένα αρχείο CSV σε JSON χρησιμοποιώντας το Aspose.Cells FOSS σε Python. Φορτώστε το CSV με load_csv_workbook(), διαβάστε κάθε γραμμή χρησιμοποιώντας iter_rows() για να δημιουργήσετε μια λίστα λεξικών της Python, έπειτα σειριοποιήστε σε JSON χρησιμοποιώντας το τυπικό json module.

Προαπαιτούμενα

Για τη μετατροπή CSV σε JSON χρησιμοποιώντας το Aspose.Cells FOSS σε Python, βεβαιωθείτε ότι το περιβάλλον σας πληροί τις ακόλουθες απαιτήσεις.

  • Python 3.7 ή νεότερη έκδοση εγκατεστημένη
  • Εγκαταστήστε το Aspose.Cells FOSS μέσω pip install aspose-cells-foss>=26.3.1
  • Εισάγετε τη βιβλιοθήκη χρησιμοποιώντας from aspose.cells_foss import load_csv_workbook
  • Βασική εξοικείωση με τη διαχείριση αρχείων Python και το τυπικό μονάδα json

Βήματα Μετατροπής

Βήμα 1: Φορτώστε το αρχείο CSV

Χρησιμοποιήστε τη λειτουργία ευκολίας load_csv_workbook() για να φορτώσετε το αρχείο CSV σε ένα νέο βιβλίο εργασίας. Αυτό αρχικοποιεί την αναπαράσταση των δεδομένων του υπολογιστικού φύλλου στη μνήμη.

from aspose.cells_foss import load_csv_workbook

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

Βήμα 2: Ανάγνωση κεφαλίδων και γραμμών

Χρησιμοποιήστε iter_rows(values_only=True) για να εξάγετε όλες τις γραμμές ως πλειάδες τιμών κελιών. Η πρώτη γραμμή θεωρείται ως γραμμή κεφαλίδας.

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

Βήμα 3: Δημιουργία λίστας λεξικών και σειριοποίηση σε JSON

Επανάλαβε τις υπόλοιπες γραμμές, δημιούργησε ένα dict ανά γραμμή με κλειδί τα ονόματα των κεφαλίδων, στη συνέχεια χρησιμοποίησε json.dump() για να γράψεις το αρχείο 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")

Παράδειγμα Κώδικα

Το πλήρες παράδειγμα από άκρη σε άκρη που συνδυάζει όλα τα τρία βήματα:

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

Υποστηριζόμενες μορφές

Το Aspose.Cells FOSS υποστηρίζει τη φόρτωση αρχείων CSV και την εξαγωγή σε JSON μέσω της παραπάνω προσέγγισης. Η βιβλιοθήκη υποστηρίζει επίσης άμεση αποθήκευση σε άλλες μορφές.

ΜορφήΕπέκτασηΣημειώσεις
CSV (εισόδου).csvΦόρτωση με load_csv_workbook("file.csv")
JSON (εξόδου).jsonΔημιουργήθηκε με Python json.dump() μετά την επανάληψη των κελιών
XLSX (εισόδου/εξόδου).xlsxΤυπική μορφή Excel Open XML
Markdown (εξόδου).mdΧρησιμοποιήστε wb.save_as_markdown("file.md")

Δείτε επίσης

 Ελληνικά