【发布时间】:2017-07-29 11:04:54
【问题描述】:
我正在尝试找到一个 Python 解决方案,它可以在没有打开 OpenRefine 服务器的情况下以 JSON 格式执行以下 OpenRefine Python 命令。 我的OpenRefine JSON 在任何格式正确的 CSV 文件的每个字段上都包含映射和自定义 Python 命令,因此这不是基本的 JSON 读取。 一个示例 OpenRefine JSON 代码,其中只有正则表达式映射
[
{
"op": "core/text-transform",
"description": "Text transform on cells in column Sleep using expression jython:import re\n\nvalue = re.sub(\"h0\", \"h\",value)\n\nvalue = re.sub(\"h\",\"*60+\", value)\n\nreturn eval(value)\n\n \nreturn eval(value.replace(\"h\", \"*60+\"));",
"engineConfig": {
"mode": "row-based",
"facets": []
},
"columnName": "Sleep",
"expression": "jython:import re\n\nvalue = re.sub(\"h0\", \"h\",value)\n\nvalue = re.sub(\"h\",\"*60+\", value)\n\nreturn eval(value)\n\n \nreturn eval(value.replace(\"h\", \"*60+\"));",
"onError": "keep-original",
"repeat": false,
"repeatCount": 10
}
]
一种解决方案是对每种类型的元素逐个处理 JSON,但使用某些包可能会有更简单的解决方案。
Python:3.5.2
操作系统:Debian 9
【问题讨论】:
标签: python json csv openrefine