Πώς να μετατρέψετε 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") |