OpenRefine无效JSON排查请求:请协助检测脚本格式错误
OpenRefine JSON脚本格式错误排查与修复
核心错误点
- 操作类型误用:你使用了
core/column-addition-by-fetching-urls操作,但该操作仅用于从URL抓取内容,完全不符合合并现有列生成新列的需求,应替换为core/column-addition。 - 冗余字段存在:
delay、cacheResponses、httpHeadersJson、urlExpression都是URL抓取操作的专属字段,在core/column-addition中需要删除,同时将urlExpression替换为expression字段。
修复后的完整JSON脚本
{"entries": [ { "op": "core/column-remodeling", "description": "对First Name列执行文本转换:去除空格并转为标题格式", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "First Name", "expression": "value.trim().toTitleCase()", "onError": "set-to-blank", "repeat": false, "repeatCount": 10 }, { "op": "core/column-remodeling", "description": "对First Name -MyData列执行文本转换:去除空格并转为标题格式", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "First Name -MyData", "expression": "value.trim().toTitleCase()", "onError": "set-to-blank", "repeat": false, "repeatCount": 10 }, { "op": "core/column-addition", "description": "基于First Name和First Name -MyData列创建新列,合并内容并去重", "engineConfig": { "facets": [], "mode": "row-based" }, "newColumnName": "First Name", "columnInsertIndex": -1, "baseColumnName": "First Name", "expression": "unique(coalesce(cells['First Name'].value.trim().toTitleCase(), '').toString() + ' | ' + coalesce(cells['First Name -MyData'].value.trim().toTitleCase(), '').toString().split(' | '))", "onError": "set-to-blank" }, { "op": "core/column-remodeling", "description": "对Last Name列执行文本转换:去除空格并转为标题格式", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "Last Name", "expression": "value.trim().toTitleCase()", "onError": "set-to-blank", "repeat": false, "repeatCount": 10 }, { "op": "core/column-remodeling", "description": "对Last Name -MyData列执行文本转换:去除空格并转为标题格式", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "Last Name -MyData", "expression": "value.trim().toTitleCase()", "onError": "set-to-blank", "repeat": false, "repeatCount": 10 }, { "op": "core/column-addition", "description": "基于Last Name和Last Name -MyData列创建新列,合并内容并去重", "engineConfig": { "facets": [], "mode": "row-based" }, "newColumnName": "Last Name", "columnInsertIndex": -1, "baseColumnName": "Last Name", "expression": "unique(coalesce(cells['Last Name'].value.trim().toTitleCase(), '').toString() + ' | ' + coalesce(cells['Last Name -MyData'].value.trim().toTitleCase(), '').toString().split(' | '))", "onError": "set-to-blank" } ] }
验证建议
- 用本地JSON校验工具检查修复后的脚本,确保无语法错误;
- 在OpenRefine中先测试单个修复后的操作,确认逻辑正常后再批量导入完整脚本。
内容的提问来源于stack exchange,提问作者zlatko
相关产品推荐
相关产品推荐

