问题标签 [grel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
105 浏览

openrefine - GREL:关于模板导出和空值的qq(打开优化)

有比这更优雅的表达式来避免打印 NULL 和单词“NULL”吗?通过阅读 Open Refine 的文档https://github.com/OpenRefine/OpenRefine/wiki/General-Refine-Expression-Language,我已经完成了以下操作,但感觉既奇怪又复杂。

干杯。

0 投票
0 回答
53 浏览

web-scraping - Openrefine 不会获取整个 html 代码

我一直在 Wiley 中获取学术文章以收集作者信息,但获取的列不包含所有代码。

例如,如果我检查一个站点(例如https://onlinelibrary.wiley.com/doi/10.1111/1475-6773.13088),虽然有超过 100 个跨度标签,但我获取的结果有少于 30 个跨度标签。一些元标记也丢失了。

我正在专门寻找带有 citation_author 和 citation_author_institution 的元标记等元素。

0 投票
1 回答
100 浏览

math - GREL 向上取整并能被 5 整除

在 OpenRefine 中,我有一个数据集,我想将数字四舍五入到最接近的值,并且可以除以 5(可被 5 整除)。

例如:

我查看了文档,但无法弄清楚如何实现这一点。

0 投票
1 回答
90 浏览

openrefine - OpenRefine 公式中拆分值的平均值

在 openrefine 中,通过应用“集群和编辑”,然后应用“加入多值单元格”,我有许多行,由 (n) 个值(不同数量)的先前聚集的行组成。

然后我可以应用一个转换来总结它:

哪个工作正常,但无法弄清楚如何进行类似的过程:

  1. 做同样的事情来获得平均值而不是总和

  2. 如果 % 百分比的值如下:

    0.17%、1.49%、0.68%、0.29%、0.72%、22.22%

0 投票
1 回答
89 浏览

html - 在 GREL 中提取具有特定属性的 HTML 标记

我可以在标签第一次出现时轻松提取它

并且每次出现:

但是如何仅提取具有特定属性的那些标签?

谢谢

0 投票
1 回答
37 浏览

openrefine - Openrefine 重新排列值

在 csv 列中,我有以下数据:

我喜欢像这样重新排列它们:

为了匹配它们,我可以使用一个简单的正则表达式(.* ?)\((.*)\)(最后一行将保持不变)https://regex101.com/r/ivrIa3/1

有没有更简单的方法:

0 投票
1 回答
102 浏览

regex - openrefine 提取符号之间的值

我正在尝试使用 Openrefine 从整个字段中提取文本字符串。这是我的数据集的摘录:

我想23Y1-Up, 27Y1-Up 从记录 172、 23Y2508-UP记录 179、27Y5050-UP记录 180 和整个67A1-UP, 78A1-UP, 85A1-UP, 86A1-UP, 59J1-644, 58J1-UP, 49J1-473, 22C1-UP, 91A1-UP, 88A1-UP记录 200 中提取

所以基本上规则是提取:如果存在和(如果存在之间的所有内容。也许将其限制在字符串出现一次或多次的地方UP

所以我正在使用 value.match 基于现有列添加一个新列。我试图使一些查询适应我的范围,但尽管多次尝试,我离成功还很远。我从这个正则表达式开始 value.match(/\:?\s*(\w+\.?)+?.*/)[0],我认为它会在分号(和空格)之后隔离任何单词,但它只适用于之前的单词......昨天我成功提取了 LK 之前的数字,这也是我的数据集的相关信息,但是我无法理解这一点。

任何帮助深表感谢!谢谢

0 投票
1 回答
155 浏览

arrays - 如何在 OpenRefine 中过滤大量 JSON?

我正在使用 OpenRefine 使用 Sherpa Romeo API(Sherpa Romeo 是一个聚合发布者政策的网站)获取有关发布者政策的信息。我明白了。

现在我需要解析返回的 JSON,以便保留具有某些信息的那些。我感兴趣的结果需要包括以下内容:

'any_website',

'any_repository',

'institutional_repository',

'non_commercial_institutional_repository',

'non_commercial_repository'

这些信息都属于一个名为“permitted_oa”的数组。出于某种原因,我什至无法弄清楚如何拉出该阵列。我试过写 grel 表达式,例如

value.parseJson().items.permitted_oa

但它从不返回任何东西。

我希望我可以分享 JSON,但它太大了。

0 投票
1 回答
95 浏览

python - 使用 Python 在 Openrefine 中应用正则表达式

我正在尝试使用value.findall()OpenRefine 3.4 中的函数,方法是查找包含特定字符串的列中的所有行,即“ WASHER”、“ FLAT”、“ 10MM”和“ SS”`,以任何给定的随机顺序并将其返回到新列中。这是我的代码片段。

这是屏幕的样子。

我的屏幕截图我列中的数据是什么样的

0 投票
1 回答
97 浏览

openrefine - Open Refine - 按列值重新组合行值

我是新的开放优化用户,不知道如何编码。

与另一列相比,我想对一列的多个值进行分组。

我有这个文件

编号 1 编号 2
ID1.1 ID2.1
ID1.1 ID2.2
ID1.2 ID2.3
ID1.2 ID2.4
ID1.2 ID2.5

我想要这个:

编号 1 编号 2
ID1.1 ID2.1;ID2.2
ID1.2 ID2.3;ID2.4;ID2.5

该文件有 150k 行和多列

我试图根据第一列添加一个新列,但我不知道如何根据第一列的值对第二列的 row1、row2、row3 的值进行分组。

谢谢你的任何回答