Install
openclaw skills install @thcjp/format-converter-freeopenclaw skills install @thcjp/format-converter-free数据格式转换免费版面向需要在不同数据格式间快速转换的开发者与数据工作者。覆盖 CSV、JSON、XML、YAML、TOML 等主流格式的互转,适合单文件、小规模的转换场景。
免费版聚焦"快速、准确、类型智能"的核心转换能力,适合 10MB 以内的文件,无需复杂配置即可上手。
| 输入格式 | 输出格式 | 典型场景 |
|---|---|---|
| CSV | JSON | 表格数据入 API |
| JSON | CSV | API 数据入 Excel |
| JSON | YAML | 配置文件人性化 |
| YAML | JSON | 配置文件程序化 |
| XML | JSON | 旧系统集成 |
| JSON | XML | SOAP/legacy 接口 |
| TOML | JSON | Python 配置入程序 |
| JSON | TOML | 程序配置入 Python |
输入: 用户提供1 支持的格式矩阵所需的指令和必要参数。 处理: 解析1 支持的格式矩阵的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回1 支持的格式矩阵的响应数据,包含状态码、结果和日志。
. 分隔展开(如 user.address.city)[item1, item2] 形式保留输入: 用户提供2 嵌套结构保留所需的指令和必要参数。 处理: 解析2 嵌套结构保留的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回2 嵌套结构保留的响应数据,包含状态码、结果和日志。
| 原始值 | 推断类型 | 说明 |
|---|---|---|
42 | int | 整数 |
3.14 | float | 浮点数 |
true / false | bool | 布尔值 |
null / None | null | 空值 |
2024-01-01 | str(保留原文) | 日期字符串 |
| 其他 | str | 字符串 |
输入: 用户提供3 类型智能推断所需的指令和必要参数。 处理: 解析3 类型智能推断的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回3 类型智能推断的响应数据,包含状态码、结果和日志。
输入: 用户提供4 编码自动处理所需的指令和必要参数。 处理: 解析4 编码自动处理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回4 编码自动处理的响应数据,包含状态码、结果和日志。
输入: 用户提供5 边界情况处理所需的指令和必要参数。 处理: 解析5 边界情况处理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回5 边界情况处理的响应数据,包含状态码、结果和日志。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:等格式互转的免费、核心能力、支持单文件快速转、数据格式转换免费、版面向需要在不同、数据格式间快速转、换的开发者与数据、工作者、等主流格式的互转、主流格式互转、单文件快速转换、输入一个文件、输出另一种格式、自动检测与转换等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
| 角色 | 典型场景 | 输入 | 输出 |
|---|---|---|---|
| 后端开发者 | API 数据入 Excel | JSON | CSV |
| 运维工程师 | 配置文件迁移 | YAML | TOML |
| 数据分析师 | 表格数据入程序 | CSV | JSON |
| 集成工程师 | 旧系统适配 | XML | JSON |
| Python 开发者 | 配置文件管理 | TOML | JSON |
预计上手时间:< 60 秒。
直接以自然语言向 Agent 描述转换任务,以下为可复制模板:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 数据格式转换(免费版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
请把 config.yaml 转换为 toml 格式,保留所有嵌套结构与注释。
请把 users.json 转换为 csv,嵌套字段以点号展开。
Agent 会自动识别输入格式与目标格式,执行转换并输出结果。
输入(CSV):
name,age,city
张三,30,北京
李四,25,上海
输出(JSON):
[
{"name": "张三", "age": 30, "city": "北京"},
{"name": "李四", "age": 25, "city": "上海"}
]
输入(JSON):
{
"database": {
"host": "localhost",
"port": 5432,
"name": "myapp"
},
"debug": true
}
输出(YAML):
database:
host: localhost
port: 5432
name: myapp
debug: true
输入(XML):
<users>
<user id="1">
<name>张三</name>
<age>30</age>
</user>
</users>
输出(JSON):
{
"users": {
"user": {
"@id": "1",
"name": "张三",
"age": 30
}
}
}
输入(TOML):
[database]
host = "localhost"
port = 5432
# ...
[servers.alpha]
ip = "10.0.0.1"
输出(JSON):
{
"database": {
"host": "localhost",
"port": 5432
},
"servers": {
"alpha": {
"ip": "10.0.0.1"
}
}
}
import csv, json, yaml, xmltodict, tomllib, tomli_w
# ...
# CSV → JSON
with open('data.csv', 'r', encoding='utf-8') as f:
rows = list(csv.DictReader(f))
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(rows, f, ensure_ascii=False, indent=2)
# ...
# JSON → YAML
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
with open('data.yaml', 'w', encoding='utf-8') as f:
yaml.dump(data, f, allow_unicode=True, default_flow_style=False)
# ...
# YAML → TOML
with open('config.yaml', 'r', encoding='utf-8') as f:
data = yaml.safe_load(f)
with open('config.toml', 'wb') as f:
tomli_w.dump(data, f)
# ...
# XML → JSON
with open('data.xml', 'r', encoding='utf-8') as f:
data = xmltodict.parse(f.read())
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
diff 或工具校验数据完整性A: 检查输入文件编码与输出编码是否一致。免费版默认 UTF-8,如需其他编码请在指令中说明,如"输出 GBK 编码"。
A: 免费版自动以 . 分隔展开嵌套字段,如 user.address.city。数组以 [item1, item2] 形式保留。
A: JSON 对象字段无序,但免费版会尽量保留原始顺序。YAML/TOML 转换可能因库实现略有差异。
A: 免费版推荐处理 10MB 以内文件。更大文件建议使用专业版的流式转换与批处理能力。
A: YAML/TOML 中的注释在转换为 JSON 时会丢失(JSON 不支持注释)。YAML ↔ TOML 互转时注释尽量保留。
本免费体验版限制以下高级功能:
PostgreSQL)的导入导出解锁全部功能请使用专业版:format-converter-pro
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| pyyaml | Python 库 | 必需 | pip install pyyaml(YAML) |
| xmltodict | Python 库 | 必需 | pip install xmltodict(XML) |
| tomli_w | Python 库 | 必需 | pip install tomli_w(TOML 写入) |
| tomllib | Python 库 | 必需 | Python 3.11+ 内置(TOML 读取) |
| chardet | Python 库 | 可选 | pip install chardet(编码检测) |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |