OpenRefine:删除单元格中重复的逗号分隔值
OpenRefine: Remove duplicate, comma separated values in cells
如何清理(然后导出到 JSON)包含逗号分隔的单元格,可能是重复值?
单元格示例:
+-------------+
| foo,bar,foo |
+-------------+
| bar,qux |
+-------------+
| bar,bar |
+-------------+
我想要的是将数据分成新的列并像这样删除重复数据:
+-----+-----+
| foo | bar |
+-----+-----+
| bar | qux |
+-----+-----+
| bar | |
+-----+-----+
或 可以将去重数据导出为 JSON 数组
+---------+
| foo,bar |
+---------+
| bar,qux |
+---------+
| bar |
+---------+
至
"cellname": ["foo", "bar"]
"cellname": ["bar", "qux"]
"cellname": ["bar"]
感谢您的帮助!
您必须首先以基于行的模式导入数据集,以便值包含在单个列中。
像这样。
然后,您可以使用这个 hacky Python/Jython 脚本(已经提到 )来转换您的专栏:
from collections import OrderedDict
dedup = list(OrderedDict.fromkeys(value.replace(' ','').split(',')))
return '["' + '","'.join(dedup) + '"]')
结果:
最后,通过单击 "Export -> Templating",您可以在 "Row template" 字段中使用这样的值:
"cellnames" : {{cells["Column 1"].value}}
如何清理(然后导出到 JSON)包含逗号分隔的单元格,可能是重复值?
单元格示例:
+-------------+
| foo,bar,foo |
+-------------+
| bar,qux |
+-------------+
| bar,bar |
+-------------+
我想要的是将数据分成新的列并像这样删除重复数据:
+-----+-----+
| foo | bar |
+-----+-----+
| bar | qux |
+-----+-----+
| bar | |
+-----+-----+
或 可以将去重数据导出为 JSON 数组
+---------+
| foo,bar |
+---------+
| bar,qux |
+---------+
| bar |
+---------+
至
"cellname": ["foo", "bar"]
"cellname": ["bar", "qux"]
"cellname": ["bar"]
感谢您的帮助!
您必须首先以基于行的模式导入数据集,以便值包含在单个列中。
像这样。
然后,您可以使用这个 hacky Python/Jython 脚本(已经提到
from collections import OrderedDict
dedup = list(OrderedDict.fromkeys(value.replace(' ','').split(',')))
return '["' + '","'.join(dedup) + '"]')
结果:
最后,通过单击 "Export -> Templating",您可以在 "Row template" 字段中使用这样的值:
"cellnames" : {{cells["Column 1"].value}}