如何在 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。该库还支持直接保存为其他格式。
| 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") |