如何在 Python FOSS 中将 CSV 转换为 JSON

如何在 Python FOSS 中将 CSV 转换为 JSON

问题

使用 Aspose.Cells FOSS 在 Python 中将 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")

代码示例

完整的端到端示例,结合所有三个步骤:

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 (输入).csv使用 load_csv_workbook("file.csv") 加载
JSON (输出).json使用 Python json.dump() 在遍历单元格后构建
XLSX (输入/输出).xlsx标准 Excel Open XML 格式
Markdown (输出).md使用 wb.save_as_markdown("file.md")

另请参阅

 中文