将多个列中的多值单元格拆分为多行(Open Refine)

Ana*_*ita 5 openrefine

我一直在Open Refine上清理一张桌子.我现在这样:

REF                 Handle      Size        Price
2002, 2003          t-shirt1    M, L        23
3001, 3002, 3003    t-shirt2    S, M, L     24
Run Code Online (Sandbox Code Playgroud)

我需要在REF和Size中拆分那些多值单元格,以便得到:

REF                 Handle      Size        Price
2002                t-shirt1    M           23
2003                t-shirt1    L           23  
3001                t-shirt2    S           24  
3002                t-shirt2    M           24
3003                t-shirt2    L           24
Run Code Online (Sandbox Code Playgroud)

是否可以在Open Refine中执行此操作?"拆分多值单元格......"命令仅处理一列.谢谢你,安娜丽塔

小智 4

是的,这是可能的:

\n\n
    \n
  • 使用“,”作为分隔符拆分第一列。
  • \n
  • 将第 2 列移动到位置 1
  • \n
  • 将您的项目显示为记录(而不是行)
  • \n
  • 使用“,”作为分隔符拆分第 3 列
  • \n
  • 填写第 4 栏和第 2 栏
  • \n
  • 重新排序列
  • \n
\n\n

这是我在 GREL 中的食谱:

\n\n
[\n  {\n    "op": "core/row-removal",\n    "description": "Remove rows",\n    "engineConfig": {\n      "facets": [\n        {\n          "invert": false,\n          "expression": "row.starred",\n          "selectError": false,\n          "omitError": false,\n          "selectBlank": false,\n          "name": "Starred Rows",\n          "omitBlank": false,\n          "columnName": "",\n          "type": "list",\n          "selection": [\n            {\n              "v": {\n                "v": true,\n                "l": "true"\n              }\n            }\n          ]\n        }\n      ],\n      "mode": "row-based"\n    }\n  },\n  {\n    "op": "core/multivalued-cell-split",\n    "description": "Split multi-valued cells in column Column 1",\n    "columnName": "Column 1",\n    "keyColumnName": "Column 1",\n    "separator": ", ",\n    "mode": "plain"\n  },\n  {\n    "op": "core/column-move",\n    "description": "Move column Column 2 to position 0",\n    "columnName": "Column 2",\n    "index": 0\n  },\n  {\n    "op": "core/multivalued-cell-split",\n    "description": "Split multi-valued cells in column Column 3",\n    "columnName": "Column 3",\n    "keyColumnName": "Column 2",\n    "separator": ", ",\n    "mode": "plain"\n  },\n  {\n    "op": "core/fill-down",\n    "description": "Fill down cells in column Column 4",\n    "engineConfig": {\n      "facets": [],\n      "mode": "record-based"\n    },\n    "columnName": "Column 4"\n  },\n  {\n    "op": "core/fill-down",\n    "description": "Fill down cells in column Column 2",\n    "engineConfig": {\n      "facets": [],\n      "mode": "record-based"\n    },\n    "columnName": "Column 2"\n  },\n  {\n    "op": "core/column-reorder",\n    "description": "Reorder columns",\n    "columnNames": [\n      "Column 1",\n      "Column 2",\n      "Column 3",\n      "Column 4"\n    ]\n  }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

赫夫\xc3\xa9

\n