使用Google Refine解析多个值

时间:2017-07-26 04:58:14

标签: openrefine grel

我有一个包含这样内容的CSV列(仅作为示例):

[{"qual"=>"05-Admmin "name"=>"CLARK C COHO"}, {"qual"=>"20-Soc Con", "name"=>"ALPHA S A"}, {"qual"=>"20-Soc Con", "name"=>"JACK SA"}

我想自动提取" name"的值。字段并用逗号分隔,结果如下:CLARCK C COHO,ALPHA S A,JACK SA等。

我知道我可以使用此代码获取特定值:

value.parseJson()[0].name

我一直在阅读文档,但我并没有弄清楚如何在所有字段之间循环播放。

任何提示?

编辑: 这是该列的另一个例子。内容看起来真的像这样:

[{"qual"=>"49-SocAdm", "name"=>"ALVARO R L"}, {"qual"=>"49-SocAdm", "name"=>"GABRIEL G L"}]

1 个答案:

答案 0 :(得分:1)

CSV中的数据不是JSON格式。我不知道这是什么。一种键值格式,但我不知道哪一种。此外,它有时缺少逗号或括号。我们可以尝试将其转换为有效的JSOn,但使用正则表达式提取信息会更容易。这是Python / Jython的一个例子。

import re

pattern = re.compile(r'"name"=>"(.+?)"', re.M)

return ", ".join(pattern.findall(value))

screenshot