【问题标题】:Transpose survey response dataset with Open Refine (previously Google Refine)使用 Open Refine(以前的 Google Refine)转置调查响应数据集
【发布时间】:2017-09-02 01:36:43
【问题描述】:

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

调查的一些背景

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

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

当前数据集如下:

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

【问题讨论】:

  • 不确定是否了解数据集的结构。它是一个csv文件吗? T1 -> T20 下面的单元格真的是空的吗?你能贴几句真实的台词吗?
  • 嗨@EttoreRizza,我已经用原始和重构数据集的要点更新了原始帖子。感谢您查看 =]

标签: csv survey openrefine google-refine


【解决方案1】:

这不能通过单击单个按钮来完成。您必须执行三个“跨列将单元格转置为行”(一个用于任务,一个用于重要性,一个用于满意度),然后三个“连接多值单元”,然后三个“拆分多值单元”,最后使用填充填写 ID 列中的空白。截屏视频可能比我的解释更清楚。

You'll find the Json operations in a comment on your Gist. 如果您的列与提供的示例名称完全相同,您可以通过将文件复制并粘贴到“撤消/重做 -> 应用”中来将其应用到您的项目中

【讨论】:

  • 太棒了,非常感谢您帮助我,这太完美了。感谢您的截屏视频,非常有帮助!
【解决方案2】:

尝试以下方法:

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

【讨论】:

  • 非常感谢您回答我的问题,非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
相关资源
最近更新 更多