Как да конвертирате CSV в JSON с Python FOSS

Как да конвертирате CSV в JSON с Python FOSS

Проблем

Конвертирайте CSV файл в JSON, като използвате Aspose.Cells FOSS в Python. Заредете CSV с load_csv_workbook(), прочетете всеки ред с iter_rows(), за да създадете Python списък от речници, след което сериализирайте в JSON, използвайки стандартния json модул.

Предварителни условия

За да конвертирате 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

Итерайте останалите редове, създайте речник за всеки ред, индексиран по имената на заглавията, след което използвайте 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 (input).csvЗаредете с load_csv_workbook("file.csv")
JSON (output).jsonСъздаден с Python json.dump() след итерация на клетки
XLSX (input/output).xlsxСтандартен Excel Open XML формат
Markdown (output).mdИзползвайте wb.save_as_markdown("file.md")

Вижте също

 Български