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

时间:2017-08-31 14:24:13

标签: csv survey openrefine google-refine

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

调查的某些背景

  1. 收集者和响应者ID在后台收集 - ID1 ID2
  2. 用户从长列表中选择任务 - T {n}
  3. 用户输入自定义任务 - OT
  4. 用户评估每项所选任务的重要性 - R1
  5. 用户评价每项所选任务的满意度 - R2
  6. 我们总共有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

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

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

答案 1 :(得分:0)

这不能通过单击一个按钮来完成。你必须执行三个"将列中的单元转换为行" (一个用于任务,一个用于其重要性,一个用于满足),然后三个"加入多值单元格,然后三个"拆分多值单元格",最后使用填充填充ID列中的空白。截屏可能比我的解释更清晰。

enter image description here

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