CSV'yi Python FOSS ile JSON'a Nasıl Dönüştürülür
Sorun
CSV dosyasını Aspose.Cells FOSS kullanarak Python içinde JSON’a dönüştürün. CSV’yi şu şekilde yükleyin load_csv_workbook(), her satırı şu şekilde okuyun iter_rows() bir Python sözlük listesi oluşturmak için, ardından standart json modül.
Önkoşullar
Aspose.Cells FOSS kullanarak Python içinde CSV’yi JSON’a dönüştürmek için ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun.
- Python 3.7 veya daha yeni bir sürüm yüklü
- Aspose.Cells FOSS’ı şu şekilde kurun
pip install aspose-cells-foss>=26.3.1 - Kütüphaneyi şu şekilde içe aktarın
from aspose.cells_foss import load_csv_workbook - Python dosya işleme ve standart
jsonmodül
Dönüştürme Adımları
Adım 1: CSV Dosyasını Yükleyin
Şu kullanın load_csv_workbook() kolaylık fonksiyonunu kullanarak CSV dosyasını yeni bir çalışma kitabına yükleyin. Bu, elektronik tablo verilerinin bellek içi temsilini başlatır.
from aspose.cells_foss import load_csv_workbook
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]Adım 2: Başlıkları ve Satırları Okuyun
Kullan iter_rows(values_only=True) tüm satırları hücre değerlerinin demetleri olarak çıkarmak için. İlk satır başlık satırı olarak kabul edilir.
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])]Adım 3: Bir Sözlük Listesi Oluşturun ve JSON’a Serileştirin
Kalan satırları yineleyin, her satır için başlık adlarıyla anahtarlanan bir sözlük oluşturun, ardından şu kullanın json.dump() JSON dosyasını yazmak için.
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")Kod Örneği
Üç adımı birleştiren tam uçtan uca örnek:
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")Desteklenen Biçimler
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.
| Biçim | Uzantı | Notlar |
|---|---|---|
| CSV (girdi) | .csv | Şununla yükle load_csv_workbook("file.csv") |
| JSON (çıktı) | .json | Python ile oluşturuldu json.dump() hücreleri yineledikten sonra |
| XLSX (girdi/çıktı) | .xlsx | Standart Excel Open XML formatı |
| Markdown (çıktı) | .md | Kullan wb.save_as_markdown("file.md") |