标签: openrefine

简单的 OpenRefine IF 来创建一个新列

我正在尝试创建一个包含 true 或 false 的新列。基本上,A 列中有一个数字,介于 1 和 6 之间,如果它高于 3,我希望新列“匹配”包含真,否则包含假。在尝试以下 GREL 时使用基于列的添加列

if(value > 5, "True", "False")
Run Code Online (Sandbox Code Playgroud)

这基本上导致一切都是假的。

我知道我的 IF 语句是正确的,因为以下有效

if(value.length() > 1, "Double", "Single")
Run Code Online (Sandbox Code Playgroud)

我只是困惑为什么如果 Value 大于 5 不起作用,它显然缺少某些东西,但我似乎无法在文档中指出它。

openrefine grel

5
推荐指数
1
解决办法
6145
查看次数

如何有效使用OpenCorporates Reconciliation API?

如何使用opencorp API?例如

据网站称:

Open Refine Reconciliation API 允许 OpenRefine 用户将公司名称与合法的公司实体进行匹配。当您拥有包含大量公司的现有电子表格或数据集时,这尤其有用。通过与法人实体匹配(或协调),您可以获取有关公司的更多信息(例如注册地址或法定文件),并且可以更轻松地与其他数据集匹配或与其他组织交换。

遵循文档:文档

我可以在邮递员中运行 GET 查询,如下所示:

https://opencorporates.com/reconcile/suggest?prefix=AMAZON

甚至搜索特定区域内的公司。

这在个别情况下非常好且有用,但我有两个问题。

1)我如何将其推广到更大的数据集。

2)根据网站,它还说:

与法人实体匹配(或协调)可以让您获得有关公司的更多信息(例如注册地址或法定备案)。

我如何访问这些信息?

文档中的 GET 响应不显示此信息。

python get python-requests openrefine postman

5
推荐指数
1
解决办法
1052
查看次数

Openrefine列中的渐进数字

是否可以使用GREL生成"计数器",列中的渐进数字?

例如,我想添加value该数字来为每条记录生成一个标识符.

google-refine openrefine

4
推荐指数
1
解决办法
199
查看次数

如果所有列都相同,则在Google Refine(OpenRefine)中合并行的最简单方法

我正在使用OpenRefine(Google Refine)从多个来源清理数据.我有来自不同来源的文件,其中包含公司,列定义相同,即

UNID  | Name      | Street    | City    | Country   | Phone | ...
sg52d | Company a | A street  | a city  | c country | 12345
sg52d | Company a | A street  | a city  | c country | 0099835
dfnsd | Company B | B Street  | City B  | c country | 33445
dfnsd | Company B | Different | Another | c country | 33445
xxbb3 | Company C | C Street …

openrefine

3
推荐指数
1
解决办法
4109
查看次数

在Google优化中搜索和替换多个值

我想在Google Refine中使用GREL(或其他任何内容)的单个函数搜索和替换列中的多个值.

例如:
1.替换(值,"Buch","bibo:Book")
2.替换(值,"Zeitschrift","bibo:Journal")
3.替换(值,"专利","bibo:专利" )
4.还有更多.

有没有办法用一个GREL表达式做到这一点?

replace openrefine

3
推荐指数
1
解决办法
3560
查看次数

openRefine - 过滤空单元格

我想调查某列为空的行.我将根据其他列中的值填充这些单元格,但我想确定哪些尚未完成.

如果我对该列进行过滤,那么在我输入内容之前它不会做任何事情 - 但我正在寻找的东西是什么......

我尝试了一些regexs一样^$,^\s*$^.{0}$,但没有行是选择对任何这些过滤器.

filter openrefine

3
推荐指数
1
解决办法
3107
查看次数

OpenRefine 的协调服务无法正常工作?

有人在 OpenRefine 中遇到过协调问题吗?我导入了美国大学和学院的列表,选择了 50 行,并尝试了 Freebase、DBpedia、OpenCorporates 核对服务。我之前曾使用 DBpedia(针对学院和大学)取得过多次成功,但现在这些都不起作用。(我也检查了列出的每项服务。)我已经修剪了前导和尾随空格,检查了重复项等。仅在大约两个月前,一切都工作正常,并且在那段时间我没有更新 OpenRefine。[更新]:我能够使一项协调服务正常工作,但无法使用我想要的本体。因此,要么我忘记了一些关键信息,要么协调大学/学院名称的服务不再起作用。

openrefine opencorporates

3
推荐指数
1
解决办法
1491
查看次数

OpenRefine - 将多个列值合并到新列中应该(?)工作

我的数据包含多个列,就我的目的而言,这些列是相同的。在这些地方,我需要将多个选定列中的值合并到一个列中。例如,将列名称 1、名称 2 和名称 3 合并为单个列名称。

按照此处的指导,我尝试创建一个新列,其中包含多个列中的值,如下图所示:

列选项

基于列 X 添加列对话框

相信我的 GREL应该结合 dc.contributor.author 中的值(简单地value说,这是我从中选择了编辑列>基于此列添加列的列)、dc.contributor.authorEN_us ( cells["dc.contributor.authorEN_us"].value)、dc.contributor .author1 ( cells["dc.contributor.author1"].value) 和 dc.contributor.authoren_US ( cells["dc.contributor.authoren_US"].value)。

但是,我的新列不包含第二、第三或第四列中的值,即使我知道这些值存在。

我的 GREL 语法有错误吗?我应该使用不同的方法来合并列吗?

预先感谢您的任何帮助。

openrefine data-cleaning grel

3
推荐指数
1
解决办法
2039
查看次数

Openrefine:通过计数对文本进行分面

我有一个巨大的文件,主要由书籍元数据(作者、标题、日期、网址)组成。我的问题是,我想对作者姓名(经常重复:一个作者可以有数百条记录)进行操作,并且我想对这些作者中拥有超过 X 条记录的子集进行操作。

例如,我有 200 条与“William Shakespeare”相关的记录,但只有一条 1 记录“John Black”等。重点是,作为一个经典的幂律,我有数十万个作者,其中大多数为 1 -2条记录。

使用“文本方面”>“计数”是不可能的,因为我的计算机死机了。

是否有一个查询仅根据某些记录的计数来获取其文本方面?

openrefine clusterize

2
推荐指数
1
解决办法
904
查看次数

用openrefine中的句子聚类单词

我想在一个文本文件中聚集单词,其行如下:

number queries waiting support representatives become available
query numbers 
Run Code Online (Sandbox Code Playgroud)

更具体地说,我想用他们的集群代表替换单词而不改变句子.

我要做的是:1.将我的列空格分成更多列,每列有1个字/行2.集群所有列3.将列合并回来

但这非常乏味.我想听听一个更简单,也许更优雅的解决方案.

cluster-analysis openrefine data-cleaning

2
推荐指数
1
解决办法
113
查看次数