使用 Open Refine 转置调查响应数据集(以前是 Google Refine)

Transpose survey response dataset with Open Refine (previously Google Refine)

我正在寻找一些帮助来重塑调查响应数据集,导出为 csv,使用 Open Refine(以前是 Google Refine)。

调查的一些背景

  1. 采集器和响应器ID在后台采集-ID1 ID2
  2. 用户 select 长列表中的任务 - T{n}
  3. 用户输入自定义任务 - OT
  4. 用户对每个 selected 任务的重要性进行评分 - R1
  5. 用户对每个 selected 任务的满意度进行评分 - R2

我们总共有 20 个任务,但这可能会改变。

当前数据集如下:

ID1 | ID2 | T1 | » | T20 | OT | T1 R1 | » | T20 R1 | OT R1 | T1 R2 | » | T20 R2 | OT R2
123 | 789 | 

我正在尝试将数据集重塑为以下格式:

ID1 | ID2 | Task | Importance | Satisfaction

Here’s a gist of original and reshaped data sets

Also, i’ve tried to articulate how I want to reshape the data in a drawing, which might help

尝试以下操作:

  • 使用 cells['Task1'].value+"|Importance: "+cells['Task Importance 1'].value+"|Satisfaction:"+cells['Task Satisfaction 1'].value 连接每个任务的所有内容您需要这样做 20 次(每组任务一次)
  • 转置 Response ID 之后的所有列(不包括在内)。您可以重复使用此操作
  • 根据管道拆分单元格|
  • 完成重命名和清理值 value.replace()

这不能通过单击一个按钮来完成。你必须执行三个 "transpose cells across columns into rows"(一个用于任务,一个用于它们的重要性,一个用于它们的满意度),然后三个 "join multivalued cells",然后三个 "split multivalued cells",最后使用 fill down 来填充ID 列中的空白。截屏视频可能比我的解释更清楚。

You'll find the Json operations in a comment on your Gist. 如果您的列的名称与提供的示例完全相同,您可以通过将文件复制并粘贴到 "Undo/Redo -> Apply"

中将其应用到您的项目中