You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从OpenRefine Client提取撤销/重做变换历史记录?

OpenRefine变换历史提取方案

基于你当前使用的openrefine-client提取方法

你用的这个客户端没有专门封装导出操作历史的命令,但它本身支持直接调用OpenRefine原生接口,不需要额外改造就能拿到JSON格式的变换历史:

  • 先获取目标项目ID:命令行下执行openrefine-client --list即可列出所有项目的ID和对应名称;如果是使用该客户端的Python库,直接读取实例的project_id属性就能拿到当前连接项目的ID。
  • 调用原生接口获取历史:该客户端内置了已完成认证的请求能力,直接调用get-operations接口即可。Python库版本可以直接执行history = client.do_json("core/get-operations", {"project_id": client.project_id}),返回结果就是完整的操作历史JSON结构。

纯Python提取方案

完全不需要依赖第三方openrefine-client,直接通过HTTP请求调用OpenRefine原生接口即可实现,适配自动化工作流场景:

  1. 确保OpenRefine服务正常启动,默认监听本地127.0.0.1:3333端口,如果你修改过服务地址或端口,对应替换即可。
  2. 先调用项目元数据接口拿到目标项目ID:向/command/core/get-all-project-metadata发送GET请求,返回结果里包含所有项目的ID、名称、创建/修改时间信息。
  3. 再调用操作历史接口拿到变换记录:向/command/core/get-operations发送GET请求,携带参数project_id为目标项目ID,返回结果的entries字段就是按执行顺序排列的所有撤销/重做操作记录,直接存储为JSON文件即可。

最小可运行代码示例:

import requests
import json

# 按需修改为你的OpenRefine服务地址
OPENREFINE_ADDR = "http://127.0.0.1:3333"
# 替换为需要导出历史的目标项目ID
PROJECT_ID = "替换为你的项目ID"

# 请求操作历史
response = requests.get(
    f"{OPENREFINE_ADDR}/command/core/get-operations",
    params={"project_id": PROJECT_ID}
)
response.raise_for_status()
op_history = response.json()

# 保存为本地JSON文件
with open("openrefine_transform_history.json", "w", encoding="utf-8") as f:
    json.dump(op_history, f, ensure_ascii=False, indent=2)

注意:如果你的OpenRefine服务配置了访问认证,在请求中携带对应Cookie或认证参数即可;导出的JSON操作历史可以直接在其他OpenRefine项目中导入复用,完全满足自动化流程的步骤复现需求。

内容的提问来源于stack exchange,提问作者frankh07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:21:25