Python FOSSでCSVをJSONに変換する方法

Python FOSSでCSVをJSONに変換する方法

問題

PythonでAspose.Cells FOSSを使用してCSVファイルをJSONに変換します。load_csv_workbook()でCSVをロードし、iter_rows()を使用して各行を読み取り、Pythonの辞書のリストを作成し、標準のjsonモジュールを使用してJSONにシリアライズします。

前提条件

PythonでAspose.Cells FOSSを使用してCSVをJSONに変換するには、環境が以下の要件を満たしていることを確認してください。

  • Python 3.7 以降がインストールされている
  • pip install aspose-cells-foss>=26.3.1 を使用して Aspose.Cells FOSS をインストールする
  • 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")

コード例

すべての3つのステップを組み合わせた完全なエンドツーエンドの例:

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 へのエクスポートをサポートしています。ライブラリは他の形式への直接保存もサポートしています。

FormatExtensionNotes
CSV(入力).csvload_csv_workbook("file.csv")でロード
JSON(出力).jsonセルを反復処理した後、Python json.dump()で構築
XLSX(入力/出力).xlsx標準のExcel Open XML形式
Markdown(出力).mdwb.save_as_markdown("file.md")を使用

参照

 日本語