如何用OpenRefine的‘Fill Up’功能按组填充列内空值?
如何用OpenRefine的「Fill Up」功能填充同record分组内Model列的空值
针对你给出的需求——将同一record分组内Model列的null值替换为组内的非空值,用OpenRefine的「Fill Up」功能可以这样操作:
步骤1:确保同一record的行连续排列
首先需要让属于同一个record的行放在一起,避免跨组填充:
- 点击
record列的下拉菜单,选择「Sort」→「Sort by this column」,排序方式选默认的「Text」即可,这样同一record的所有行会连续排列。
步骤2:在每个record组内,将非空的Model行移到组的最底部
为了让「Fill Up」能把非空值向上填充到所有null行,需要把每个组里唯一的非空Model行放到该组的最后一行:
- 点击
Model列的下拉菜单,选择「Sort」→「Sort by this column」; - 在排序选项里,选择「Blank first」(这样空值会排在前面,非空值会落在每个record组的最后);
- 确认排序后,每个record组的结构会变成:null行在前,非空Model行在最后。
步骤3:使用Fill Up功能填充空值
现在可以用Fill Up把底部的非空值填充到上方的所有null行:
- 点击
Model列的下拉菜单,选择「Edit cells」→「Fill」→「Fill up」。
执行完这一步后,每个record分组内的所有Model空值都会被组内的非空值替换,就得到了你期望的结果。
内容的提问来源于stack exchange,提问作者til
相关产品推荐
相关产品推荐

