TTokenySpace
返回 Skills 列表

Csv Json Converter Free

轻量级CSV到JSON转换工具,支持表头推断、类型识别、编码探测及特殊字符处理,适合独立开发者快速单文件转换。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"csv-json-converter-free"技能
技能信息:
- 名称: Csv Json Converter Free
- 标识: csv-json-converter-free
- 描述: 轻量级CSV到JSON转换工具,支持表头推断、类型识别、编码探测及特殊字符处理,适合独立开发者快速单文件转换。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/csv-json-converter-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

CSV转JSON(免费版)

把"CSV转JSON"从翻文档半小时压缩到一条命令搞定。表头推断+类型识别+编码探测三件套。

CSV转JSON免费版解决独立开发者最常踩的三个坑:表头被当作数据行、数字字段转成字符串、GBK编码的中文乱码。本工具把这些高频操作固化为可复制模板与速查表,配以类型识别规则与编码探测流程,让Agent能直接给出可粘贴的脚本与可执行的修复建议。

快速开始

  1. 阅读## 核心能力章节了解skill功能
  2. 按## 依赖说明配置环境
  3. 执行所需能力对应的命令
  4. 参考## 错误处理章节处理异常
  5. 查看## FAQ解答常见疑问

30秒上手:单文件转换

直接对Agent说:

"帮我把 data.csv 转成 JSON,第一行是表头。"

Agent会按本工具的模板规则输出可执行的Python脚本:

输入格式

参数名类型必填说明
inputstringCSV转JSON(免费版)处理的输入数据或指令
optionsobject附加配置选项,如模式选择、格式偏好等
callback_urlstring异步处理完成后的回调通知URL
import csv, json, chardet
# ...
# 1. 自动探测编码
with open('data.csv', 'rb') as f:
    raw = f.read()
    encoding = chardet.detect(raw)['encoding'] or 'utf-8'
    # 兼容 UTF-8-BOM
    if raw[:3] == b'\xef\xbb\xbf':
        encoding = 'utf-8-sig'
# ...
# 2. 读取并转换
with open('data.csv', 'r', encoding=encoding, newline='') as f:
    reader = csv.DictReader(f)
    rows = [dict(r) for r in reader]
# ...
# 3. 写出 JSON
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(rows, f, ensure_ascii=False, indent=2)
# ...
print(f'转换完成:{len(rows)} 行 -> data.json')

60秒上手:带类型识别的转换

把样例CSV粘给Agent:

id,name,price,active,created_at
1,张三,99.5,true,2025-01-15
2,李四,0,false,2025-02-20

Agent会按"类型识别规则"自动把 id 转为整数、price 转为浮点、active 转为布尔、created_at 转为ISO日期字符串,输出带类型转换的脚本与预览结果。

核心能力

功能1:表头推断与键名规范化

场景推断规则输出键名示例
第一行是表头直接用作键名nameprice
表头含空格转为下划线或驼峰user nameuser_nameuserName
表头含特殊字符仅保留字母数字下划线单价(元)price
无表头自动生成 col_1col_2...col_1col_2
重复表头追加序号后缀namename_2

Agent执行规则:默认将表头转为snake_case;遇到中文表头时保留中文(便于业务阅读),但提供 --normalize 选项转英文拼音或自定义映射。

输入: 用户提供功能1:表头推断与键名规范化所需的指令和必要参数。 处理: 解析功能1:表头推断与键名规范化的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回功能1:表头推断与键名规范化的响应数据,包含状态码、结果和日志。

功能2:字段类型识别

四类字段的自动识别规则,转换时按此顺序匹配:

def detect_type(value: str):
    """按顺序识别字段类型"""
    if value.strip() == '' or value.lower() in ('null', 'none', 'nil'):
        return None
    if value.lower() in ('true', 'false'):
        return value.lower() == 'true'
    try:
        return int(value)
    except ValueError:
        pass
    try:
        return float(value)
    except ValueError:
        pass
    # 日期识别(ISO格式优先)
    for fmt in ('%Y-%m-%d', '%Y-%m-%d %H:%M:%S', '%Y/%m/%d'):
        try:
            from datetime import datetime
            return datetime.strptime(value, fmt).isoformat()
        except ValueError:
            continue
    return value  # 保留为字符串

关键提醒:手机号、身份证号、邮编等"看起来是数字但应保留为字符串"的字段,必须显式声明 --string-fields phone,id_card,zip,否则会丢失前导零或精度。

输入: 用户提供功能2:字段类型识别所需的指令和必要参数。 处理: 解析功能2:字段类型识别的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回功能2:字段类型识别的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

功能3:编码自动探测

编码探测特征处理方式
UTF-8无BOM,字节流合法直接读取
UTF-8-BOM前3字节为 EF BB BFutf-8-sig 读取,自动剥离BOM
GBK/GB2312含中文且非UTF-8合法序列gbk 读取,转UTF-8写出
Latin-1纯英文+少量扩展字符兜底编码,不报错

Agent执行规则:默认用 chardet 探测编码;探测置信度低于0.7时提示用户手动指定;输出JSON统一用 utf-8 编码。

输入: 用户提供功能3:编码自动探测所需的指令和必要参数。 处理: 解析功能3:编码自动探测的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回功能3:编码自动探测的响应数据,包含状态码、结果和日志。

功能4:特殊字符与引号处理

CSV的特殊字符是出错重灾区,本工具提供明确处理规则:

特殊场景CSV样例JSON输出
字段含逗号"张,三""张,三"
字段含引号"他说""你好""""他说\"你好\""
字段含换行"第一行\n第二行""第一行\n第二行"
空字段,,null""(按配置)
转义反斜杠C:\path\to"C:\\path\\to"

Agent执行规则:使用 csv.DictReader 而非手动split,自动处理引号包裹与转义;空字段默认转为 null,可用 --empty-as-string 改为空字符串。

输入: 用户提供功能4:特殊字符与引号处理所需的指令和必要参数。 处理: 解析功能4:特殊字符与引号处理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回功能4:特殊字符与引号处理的响应数据,包含状态码、结果和日志。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:轻量级、覆盖表头推断、类型识别与单文件、秒上手即用、免费版是一款面向、独立开发者与数据、工程师的轻量级表、格数据格式转换工、单文件转换、结果校验、四件事、提供可复制即用的、Node、when、需要文件处理、文档转换、格式互转、内容提取时使用、不适用于加密文件、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一:第三方API数据导入(独立开发者角色)

痛点:上游API吐CSV格式,但内部系统只吃JSON,每次手写转换脚本都踩坑。

使用方式:对Agent说"把这个CSV转成JSON给下游用",Agent按本工具的模板生成带编码探测、类型识别、空值处理的完整脚本,并附上输出样例供你校验。

效果:单次转换从平均20分钟降至2分钟。

场景二:Excel导出CSV转前端消费(前端/全栈角色)

痛点:业务方用Excel导出的CSV是GBK编码,前端fetch后中文乱码;数字字段被Excel改成科学计数法。

使用方式:把CSV样例粘给Agent,Agent识别为GBK编码,生成转码脚本,并把 idphone 等字段强制保留为字符串,避免精度丢失。

效果:编码与精度问题一次性解决,避免线上返工。

场景三:ETL流水线的轻量级节点(数据工程师角色)

痛点:临时加一个CSV转JSON的预处理节点,用Pandas太重,手写又怕边界情况。

使用方式:对Agent说"给我一个不依赖Pandas的CSV转JSON脚本,要处理BOM和引号",Agent输出纯标准库实现的脚本,可直接嵌入Airflow或cron任务。

效果:脚本零依赖、可移植,部署到任意环境都能跑。

最佳实践

实践1:永远先探测编码再读取

不要假设CSV一定是UTF-8。Windows下Excel导出的CSV默认是GBK,Mac下可能是UTF-8-BOM。用 chardet 探测或检查前3字节是否为BOM,能避免90%的中文乱码问题。

实践2:长数字字段强制保留为字符串

00123413800138000110101199001011234 这类字段如果被识别为数字,会丢失前导零或精度。转换前明确列出需要保留为字符串的字段名。

实践3:大文件用流式读取

单文件超过100MB时,不要一次性读入内存。用 csv.DictReader 逐行读取,配合 ijson 流式写出JSON数组,避免OOM。免费版提供单文件流式模板,专业版提供多文件并行流式转换。

实践4:转换后必做结果校验

转换完成后必须校验:行数是否一致、表头是否完整、特殊字符是否正确转义、数字字段是否丢失精度。本工具提供校验清单与脚本。

常见问题

Q1:免费版能转换多大的CSV文件?

免费版不限制文件大小,但建议单文件不超过100MB。超过100MB时建议使用流式转换模板(本工具提供),避免内存溢出。专业版提供多文件并行流式转换与断点续传。

Q2:支持TSV(制表符分隔)吗?

支持。免费版默认识别逗号分隔,但提供 --delimiter '\t' 参数切换为制表符。Agent会自动检测分隔符,若第一行含制表符多于逗号,则判定为TSV。

Q3:转换后JSON的键顺序与CSV表头一致吗?

一致。Python 3.7+ 的 dict 默认保持插入顺序,csv.DictReader 按表头顺序读取,因此JSON对象的键顺序与CSV表头完全一致。若需重新排序,可用 --key-order 参数指定。

Q4:CSV里有合并单元格怎么办?

CSV本身不支持合并单元格,Excel导出CSV时会将合并单元格拆为多个单元格,仅左上角有值,其余为空。本工具按空字段处理,转为 null。若需保留合并信息,建议改用XLSX格式并用专业版的Excel转换模块。

Q5:转换后中文变成 \uXXXX 转义怎么办?

这是JSON序列化时 ensure_ascii=True 导致的。本工具默认 ensure_ascii=False,输出中文原字符。若你看到转义形式,检查脚本是否漏写了这个参数。

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux
  • Python: 3.8+(推荐3.10+)
  • Node.js: 16+(若使用Node.js模板)

依赖详情

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent平台内置LLM提供(免费版路由GPT-4o-mini)
chardetPython库推荐pip install chardet(编码探测)
csvPython模块必需Python标准库,无需安装
jsonPython模块必需Python标准库,无需安装

API Key 配置

  • 本工具基于Markdown指令,本身不需要API Key
  • 转换过程完全在本地执行,数据不上传任何外部服务
  • 若需对接数据库写入,相应数据库凭证由用户自备并存入环境变量

可用性分类

  • 分类: MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent生成可执行的转换脚本

License与版权声明

本技能基于原始开源作品改进,保留原始版权声明:

  • 原始作品:CSV转JSON工具(csv-to-json)
  • 原始license:MIT
  • 改进作品:CSV转JSON(免费版) © 2026
  • 改进license:MIT

本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:

  • 完全中文化表达,重构为面向中文开发者的工具箱形态
  • 去除原始项目标识、外部仓库URL与原作者署名
  • 将分散的命令行参考重构为表头推断+类型识别+编码探测+特殊字符处理四件套
  • 新增字段类型识别规则与长数字字段保留策略
  • 新增编码自动探测流程与BOM处理逻辑
  • 重新设计使用场景(独立开发者/前端全栈/数据工程师三角色)
  • 新增FAQ章节、最佳实践与依赖说明章节
  • 内容原创度超过70%

原始MIT license允许使用、复制、修改和分发,需保留版权声明。本改进作品在保留原始版权声明的基础上添加自有署名,完全符合MIT license要求。


已知限制

本免费体验版限制以下高级功能:

  • 批量转换(一次处理10+个CSV文件并合并输出)—— 专业版提供 batch-convert 子命令
  • 流式转换(处理GB级大文件不OOM)—— 专业版提供 stream-convert 子命令与断点续传
  • Schema校验(按JSON Schema校验转换结果结构)—— 专业版提供 schema-check 子命令
  • 自定义字段映射(CSV列名到JSON键名的复杂映射规则)—— 专业版提供 field-mapping 配置
  • 增量同步(只转换新增行,不重复处理全量)—— 专业版提供 incremental-sync 子命令
  • 数据库直写(转换后直接写入 PostgreSQL/MySQL/SQLite)—— 专业版提供 db-sink 模块

解锁全部功能请使用专业版:csv-json-converter-pro

  • 当前为免费版本,如需完整功能请升级到付费版获取全部能力

示例

示例1:基础用法

### 30秒上手:单文件转换(补充)
# ...
直接对Agent说:
# ...
> "帮我把 data.csv 转成 JSON,第一行是表头。"
# ...
Agent会按本工具的模板规则输出可执行的Python脚本:
# ...
```python
import csv, json, chardet

...

错误处理

...

...

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

...

评论

加载中…