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