用 DeepSeek 转换文件格式:将 CSV 转为 JSON 并保留编号前导零

用明确的字段规则把 CSV 转为 JSON,保留编号前导零和中文,并重新读取核对内容。

把 CSV 转成 JSON 时,最容易丢失的细节是编号前导零和字段类型。本例让 DeepSeek 协助确定转换规则,再用 Python 标准库逐行读取,把 id 保持为文本、qty 明确转换为整数,输出 UTF-8 JSON。

准备输入与运行环境

Python 3.11 无需第三方包。准备 input.csv,表头为 id,name,qty,两条虚构记录分别为 001,笔记本,2 与 002,铅笔,3。文件保存在脚本目录;不要把只修改后缀当成格式转换。

用 DeepSeek 转换文件格式:将 CSV 转为 JSON 并保留编号前导零

给 DeepSeek 的任务说明

请将 CSV 转为 JSON 数组。列固定为 id,name,qty;id 保留原始前导零,name 保留中文;qty 必须能解析为非负整数。拒绝多列或缺列和重复编号。使用 UTF-8 输出,转换后重新读取并核对行数。不要覆盖 input.csv。

在本地运行与检查

将下面代码保存为 example_04.py。进入保存该文件的目录,在终端执行 python example_04.py。代码应由你检查后执行,按实际字段修改。

import csv, json
from pathlib import Path
src, out = Path("input.csv"), Path("output.json")
if out.exists():
    raise FileExistsError("输出已存在,请换文件名")
rows, seen = [], set()
with src.open(encoding="utf-8-sig", newline="") as handle:
    reader = csv.DictReader(handle)
    if reader.fieldnames != ["id", "name", "qty"]:
        raise ValueError("表头不符合约定")
    for line, row in enumerate(reader, 2):
        if None in row or any(v is None for v in row.values()):
            raise ValueError(f"第 {line} 行列数不正确")
        if not row["id"].strip() or not row["name"].strip() or row["id"] in seen:
            raise ValueError(f"第 {line} 行文本为空或编号重复")
        qty = int(row["qty"])
        if qty < 0:
            raise ValueError(f"第 {line} 行数量为负")
        seen.add(row["id"])
        rows.append({"id": row["id"], "name": row["name"], "qty": qty})
with out.open("x", encoding="utf-8") as handle:
    json.dump(rows, handle, ensure_ascii=False, indent=2, allow_nan=False)
loaded = json.loads(out.read_text(encoding="utf-8"))
assert loaded == rows
print("records", len(loaded), "first_id", loaded[0]["id"] if loaded else "EMPTY")

文本列为什么不能先转数字

标准库 CSV 读取的值通常是字符串,因此 001 可以原样保留。若原 CSV 已经是 1,代码无法知道应补几个零;不要让 AI 根据猜测补齐。JSON 中编号必须写成 “001”,裸数字 001 也不符合 JSON 数字语法。

格式差异怎么处理

逗号出现在字段内容中时,要按 CSV 规则用双引号包围,而不是手工 split。分隔符为分号的文件需显式指定 delimiter;出现乱码时先确认来源编码,不能用忽略错误的方式静默丢字。

怎样确认结果正确

示例应打印 records 2 first_id 001。打开 output.json,确认 id 是字符串 “001”、qty 是数字 2、中文名称完整。再将文件读回并比较记录数和内容;将一行多写一个逗号,应停止并指出列数错误。

适用边界与常见问题

这只是虚构小表的 CSV 到 JSON 转换,不会自动完成数据清洗、嵌套对象设计或字段含义推断。超大文件不宜全部载入内存,可改为流式 JSON Lines,但要确认下游接受该格式。

资料依据

接口说明核验日期:2026 年 10 月 1 日。Python CSV 读取;Python JSON 编码。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30144.html

赞 (0)
AI小管家的头像AI小管家
DeepSeek 生成的 JSON 文件怎么用?先检查语法、字段与类型
上一篇 1天前
Isolation Forest 异常检测怎么做?用 Python 找出表格中的可疑记录
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部