Install
openclaw skills install @thcjp/data-format-converter-free数据格式转换器免费版,提供基础的数据格式互转能力.核心功能包括CSV转JSON(csv.DictReader方案)、JSON转YAML、YAML转JSON等常见格式互转,支持单文件转换与中文输出.适用于配置文件迁移、数据接口适配与跨系统数据交换场景,帮助开发者快速完成数据格式转换任务并保持数据完整性. 功能涵盖: format。
openclaw skills install @thcjp/data-format-converter-free核心功能: 本技能提供任务并保持数据完整性等能力。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 数据格式转换(免费版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
在CSV、JSON、YAML等常用数据格式间进行基础转换,支持中文输出与UTF-8编码处理.
使用 csv.DictReader() 逐行读取为字典,通过 json.dumps(ensure_ascii=False, indent=2) 输出UTF-8中文JSON.
import csv, json
# ...
with open('data.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
rows = list(reader)
# ...
json_str = json.dumps(rows, ensure_ascii=False, indent=2)
使用 csv.DictWriter() 写入,需指定 fieldnames,encoding='utf-8-sig' 确保Excel兼容.
import csv, json
# ...
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# ...
fieldnames = list(data[0].keys())
with open('output.csv', 'w', encoding='utf-8-sig', newline='') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
使用 yaml.safe_dump() 输出,default_flow_style=False 使用块样式,allow_unicode=True 保留中文.
import yaml, json
# ...
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# ...
yaml_str = yaml.safe_dump(data, default_flow_style=False, allow_unicode=True, sort_keys=False)
使用 yaml.safe_load() 安全解析(不执行任意Python对象).
import yaml, json
# ...
with open('data.yaml', 'r', encoding='utf-8') as f:
data = yaml.safe_load(f)
# ...
json_str = json.dumps(data, ensure_ascii=False, indent=2)
升级提示:XML与JSON互转(
xmltodict.parse/unparse)、TOML与JSON互转(toml.load/dumps)、批量目录级转换、嵌套结构自动扁平化为付费版专享功能.
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
export API_KEY=${API_KEY:?请设置环境变量}
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
.csv/.json/.yaml)确定输入格式encoding='utf-8')ensure_ascii=False 保留中文输入 (CSV):
name,age,city
张三,30,北京
李四,25,上海
# ...
输出 (JSON):
[
{"name": "张三", "age": "30", "city": "北京"},
{"name": "李四", "age": "25", "city": "上海"}
]
输入 (JSON):
{"database": {"host": "localhost", "port": 5432}, "debug": true}
# ...
输出 (YAML):
database:
host: localhost
port: 5432
debug: true
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
json.JSONDecodeError | JSON格式错误(尾随逗号、单引号) | 使用 json.loads() 严格解析,报告出错行号 |
| CSV含嵌套数据无法扁平化 | CSV单元格内含JSON字符串 | 免费版需手动扁平化,升级付费版获取自动处理 |
UnicodeDecodeError 编码错误 | 文件非UTF-8编码 | 尝试 encoding='gbk' 或 encoding='latin-1' 读取 |
| JSON转CSV时值含逗号或换行 | CSV字段需引号包裹 | csv.DictWriter 自动处理引号转义,确保 newline='' |
| YAML含特殊字符未加引号 | 值含 : # & 等保留字符 | 输出时用 default_style='"' 强制引号包裹 |
\u5f20\u4e09 怎么办?A: 输出JSON时设置 ensure_ascii=False,如 json.dumps(data, ensure_ascii=False, indent=2)。YAML设置 allow_unicode=True.
A: CSV是扁平格式,无法直接表示嵌套结构。免费版需手动将嵌套值扁平化(如 {"a": {"b": 1}} → {"a.b": 1}),或转为JSON字符串存入单元格。付费版支持自动扁平化.
A: XML与JSON互转、TOML与JSON互转为付费版专享功能。免费版支持CSV、JSON、YAML三种格式互转.
A: 批量目录级转换为付费版专享功能。免费版需逐个文件手动执行转换.
!!python/object 标签怎么办?A: 这是非安全YAML标签。务必使用 yaml.safe_load() 而非 yaml.safe_load(),safe_load 会拒绝执行任意Python对象.
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| CSV转JSON | 30分钟 | 2分钟 | 28分钟 | 100% |
| JSON转CSV | 20分钟 | 3分钟 | 17分钟 | 100% |
| JSON转YAML | 25分钟 | 2分钟 | 23分钟 | 100% |
| YAML转JSON | 30分钟 | 2分钟 | 28分钟 | 100% |
| 批量转换10个文件 | 2小时 | 20分钟 | 1小时40分钟 | 100% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 易用性 | 界面友好,操作简单 | 需要编写脚本或使用复杂工具 | 需要编写脚本 | 操作复杂,需要专业知识 |
| 速度 | 快速转换 | 较慢,取决于操作熟练度 | 较快,取决于脚本优化 | 最快,但需要较高配置 |
| 成本 | 免费版免费 | 需要购买软件或编写脚本 | 需要购买Python环境 | 需要购买软件 |
| 支持格式 | CSV、JSON、YAML | 有限,取决于软件 | 较多,取决于Python库 | 最全,但可能需要额外购买 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 数据格式不兼容 | 不同系统或软件间数据格式不一致,导致数据交换困难 | 广泛应用于跨系统数据交换场景 | 提供数据格式转换功能 | 提高数据交换效率,减少错误 |
| 转换效率低 | 手动转换数据格式耗时,影响工作效率 | 广泛应用于数据交换、数据分析等场景 | 提供自动化转换功能 | 提高工作效率,减少人工操作 |
| 转换准确性低 | 手动转换可能存在错误,影响数据准确性 | 广泛应用于数据交换、数据分析等场景 | 提供高准确率的转换算法 | 提高数据准确性,减少错误 |
以下表格列出了数据格式转换器免费版特有的功能边界条件,包括至少5个具体边界场景。
| 边界条件 | 描述 | 示例 |
-- | -- | -- |
| CSV文件中存在空值 | CSV文件中的某些字段可能为空值,转换时需要处理这些空值。 | CSV文件中的某行数据为 name,,city,转换后JSON对象中对应字段为 null。 |
| JSON对象中存在嵌套结构 | JSON对象中可能包含嵌套结构,转换时需要处理嵌套结构。 | JSON对象为 {"user": {"name": "张三", "age": 30}},转换后CSV文件中包含嵌套字段。 |
| YAML文件中存在特殊字符 | YAML文件中可能包含特殊字符,转换时需要正确处理这些字符。 | YAML文件中的值为 value: 'Hello, World! # Comment',转换后JSON对象中对应字段为 "value": "Hello, World! # Comment"。 |
| 输入文件编码错误 | 输入文件可能存在编码错误,转换时需要正确识别和转换编码。 | 输入文件编码为GBK,转换时需要指定正确的编码格式。 |
| 输出文件路径不存在 | 输出文件路径可能不存在,转换时需要检查路径并创建路径。 | 输出文件路径为 /path/to/output.csv,转换时需要检查路径是否存在。 |
以下表格列出了数据格式转换器免费版中可能出现的错误及其处理方案。 | 错误码 | 原因 | 处理方式 | 恢复策略 | -- | -- | -- | -- | | 1001 | CSV文件格式错误 | 检查CSV文件格式,确保符合预期格式。 | 重新上传正确的CSV文件。 | | 1002 | JSON文件格式错误 | 检查JSON文件格式,确保符合预期格式。 | 重新上传正确的JSON文件。 | | 1003 | YAML文件格式错误 | 检查YAML文件格式,确保符合预期格式。 | 重新上传正确的YAML文件。 | | 1004 | 输入文件编码错误 | 检查输入文件编码,确保与预期编码一致。 | 重新上传正确的编码文件。 | | 1005 | 输出文件路径不存在 | 检查输出文件路径,确保路径存在。 | 创建输出文件路径。 |
以下表格列出了数据格式转换器免费版中输入输出参数的详细信息。 | 参数名 | 类型 | 必填 | 默认值 | 取值范围 | 示例值 | -- | -- | -- | -- | -- | -- | | input | string | 是 | 无 | 无 | CSV文件路径 | | output | string | 是 | 无 | 无 | 输出文件路径 | | encoding | string | 否 | utf-8 | 无 | 输入文件编码 | | output_encoding | string | 否 | utf-8 | 无 | 输出文件编码 |
以下列出了数据格式转换器免费版的三种具体使用场景。
输入:CSV文件,包含配置项。 输出:JSON文件,包含配置项。 示例:将CSV格式的配置文件转换为JSON格式,以便在新的系统中使用。
输入:JSON文件,包含数据。 输出:CSV文件,包含数据。 示例:将API返回的JSON数据转换为CSV格式,以便在Excel中进行数据分析。
输入:YAML文件,包含数据。 输出:JSON文件,包含数据。 示例:在不同系统之间交换数据时,将YAML格式的数据转换为JSON格式。
以下列出了数据格式转换器免费版的一些常见问题及其答案。
A: 在转换过程中,空值将被转换为JSON对象中的 null 值。
A: 在转换过程中,嵌套结构将被转换为CSV文件中的嵌套字段。
A: 在转换过程中,特殊字符将被正确处理,并保留在输出文件中。
A: 在转换过程中,将检查输入文件的编码,并尝试使用正确的编码进行转换。
A: 在转换过程中,将检查输出文件路径,并在需要时创建路径。
以下列出了数据格式转换器免费版的一些常见故障及其排查步骤。
以下是一些使用数据格式转换器免费版时的优选实践建议。
在使用数据格式转换器免费版时,请确保输入文件的编码与预期编码一致,以避免转换错误。
在转换之前,请检查输入文件的格式是否正确,以确保转换过程顺利进行。
在转换过程中,请确保输出文件路径正确,以避免文件无法保存。
在转换过程中,请根据需要调整转换参数,以获得优选转换效果。
为了确保数据格式转换器免费版的功能和安全性,请定期更新软件。
以下是一些使用数据格式转换器免费版时的安全注意事项。
在使用数据格式转换器免费版时,请确保输入文件来自可信来源,以避免恶意文件造成安全风险。
请避免将敏感数据存储在本地或传输过程中,以确保数据安全。
为了修复已知安全漏洞,请定期更新数据格式转换器免费版。
为了防止注入攻击,请在转换过程中对输入数据进行验证。
为了防止未授权访问,请限制数据格式转换器免费版的访问权限。
以下表格列出了数据格式转换器免费版中可能存在的安全风险及其防范措施。 | 风险项 | 等级 | 防护措施 | 验证方法 | -- | -- | -- | -- | | 恶意文件攻击 | 高 | 对输入文件进行病毒扫描 | 使用病毒扫描软件 | | 敏感数据泄露 | 中 | 加密敏感数据 | 使用数据加密技术 | | API密钥泄露 | 高 | 限制API密钥访问 | 使用API密钥管理服务 | | 注入攻击 | 中 | 对输入数据进行验证 | 使用输入验证库 | | 未授权访问 | 高 | 限制技能访问权限 | 使用角色基权限控制 | | 安全漏洞 | 高 | 定期更新软件 | 使用漏洞扫描工具 |
以下表格列出了数据格式转换器免费版在效率提升方面的量化分析。 | 操作步骤 | 手动耗时 | 使用该技能耗时 | 时间节约 | 准确率提升 | -- | -- | -- | -- | -- | | CSV转JSON | 30分钟 | 2分钟 | 28分钟 | 100% | | JSON转CSV | 20分钟 | 3分钟 | 17分钟 | 100% | | JSON转YAML | 25分钟 | 2分钟 | 23分钟 | 100% | | YAML转JSON | 30分钟 | 2分钟 | 28分钟 | 100% | | 批量转换10个文件 | 2小时 | 20分钟 | 1小时40分钟 | 100% |
以下表格列出了数据格式转换器免费版与同类方案的差异化对比。 | 对比维度 | 本技能 | 竞品A | 竞品B | -- | -- | -- | -- | | 易用性 | 界面友好,操作简单 | 需要编写脚本或使用复杂工具 | 需要编写脚本 | | 速度 | 快速转换 | 较慢,取决于操作熟练度 | 较快,取决于脚本优化 | | 成本 | 免费版免费 | 需要购买软件或编写脚本 | 需要购买Python环境 | | 支持格式 | CSV、JSON、YAML | 较少 | 较少 | | 功能 | 基础转换 | 较少 | 较少 | | 安全性 | 较高 | 较低 | 较低 |
以下列出了数据格式转换器免费版解决的核心痛点。 | 痛点 | 描述 | 解决方案 | 效果 | -- | -- | -- | -- | | 数据格式不兼容 | 不同系统或软件间数据格式不一致,导致数据交换困难 | 提供数据格式转换功能 | 提高数据交换效率,减少错误 | | 转换效率低 | 手动转换数据格式耗时,影响工作效率 | 提供自动化转换功能 | 提高工作效率,减少人工操作 | | 转换准确性低 | 手动转换可能存在错误,影响数据准确性 | 提供高准确率的转换算法 | 提高数据准确性,减少错误 |
针对数据格式转换(免费版)使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |
针对数据格式转换(免费版)使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |
数据格式转换器免费版,提供基础的数据格式互转能力