Як конвертувати 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 (вхід).csvЗавантажити за допомогою load_csv_workbook("file.csv")
JSON (вихід).jsonСтворено за допомогою Python json.dump() після ітерації клітинок
XLSX (вхід/вихід).xlsxСтандартний формат Excel Open XML
Markdown (вихід).mdВикористати wb.save_as_markdown("file.md")

Дивіться також

 Українська