问题标签 [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 投票
2 回答
155 浏览

python - 在 XML 文档中创建尽可能多的标签的 GREL 行的 Python 方法是什么?

我正在使用 Open Refine 来做一些我知道 Python 可以做的事情。我正在使用它将 csv 转换为 XML 元数据文档。我可以弄清楚其中的大部分内容,但让我感到困惑的一件事是这条 GREL 行:

这对我来说很漂亮。我的 Excel 电子表格中有一个“主题”字段。我的志愿者输入关键字,用“;”分隔。我不知道他们会想出多少个关键词,有时只有一个。该 GREL 行为创建的<subject authority="local"><topic></topic></subject>每个术语创建一个新术语,当然会将其滑入该字段。

我知道必须有一个 Python 表达式可以做到这一点。有人可以为此推荐最佳做法吗?我会很感激的!

0 投票
2 回答
724 浏览

replace - 如何在 openrefine GREL 替换中执行动态正则表达式?

我正在尝试从当前单元格(这是歌曲名称)中不区分大小写地删除单元格“艺术家”的值。我知道replace()可以将正则表达式作为参数(https://github.com/OpenRefine/OpenRefine/wiki/GREL-String-Functions#replacestring-s-string-f-string-r),我可以(?i)用于不区分大小写的模式.

但是如何replace()知道它的参数是正则表达式还是纯字符串呢?我见过的所有示例都/.../用于表示正则表达式,但我需要通过连接 cell 来制作“动态”正则表达式artist。所以这些不起作用:

我更喜欢用 GREL 来做这件事,但是 Python/jython 的解决方案也可以。谢谢!

0 投票
2 回答
1275 浏览

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

我的数据包括多个列——出于我的目的——它们是相同的。在这些地方,我需要将多个选定列中的值组合成一列。例如,将列名称 1、名称 2 和名称 3 组合成一个列名称。

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

列选项

基于列 X 对话框添加列

相信我这里的 GREL应该结合 dc.contributor.author 中的值(只是value因为这是我从中选择Edit column > Add column based on this column 的列),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 语法有错误吗?我应该使用不同的方法来合并列吗?

提前感谢您的任何帮助。

0 投票
0 回答
406 浏览

openrefine - 总结Openrefine中列的所有记录?

我正在尝试计算列中记录的平均值以填充该列中缺失的数据。在 Openrefine 在线资源上搜索了很多,但找不到任何东西。

0 投票
1 回答
178 浏览

multiple-columns - GREL 中是否有一个函数可以根据 OpenRefine 中的标题一次删除许多列?

我有一个包含 76 列的文件,其中 52 列是不相关的,应该根据它们的列标题(即名称字符串)将其删除。OpenRefine 提供了手动重新排序/删除列的可能性,但我想知道是否有一种 GREL 方法来匹配标题名称并一次删除许多列,因为我找不到类似于替换的删除函数。

0 投票
2 回答
189 浏览

sparql - 如何通过 Wikipedia 文章标题在 OpenRefine 中进行协调?

我想核对大量记录,其中我有确切的维基百科文章标题(包括括号消歧)。根据 OpenRefine 中的确切维基百科标题匹配大量记录的最佳/最快方法是什么?如果我只是通过文本进行核对,那么可信度就会很低,并且具有相同标题的 Wikidata 条目会混淆。

0 投票
2 回答
226 浏览

json - 什么 GREL 表达式用于从 OpenRefine 中的单元格获取 JSON 值?

我有一个 csv,其中包含单元格中的纯文本条目以及 JSON 数组。我是 OpenRefine 和 GREL 的新手,无法找到用于清理此 csv 的表达式。我只想获取 JSON 数组中“名称”键的值。

示例单元格:

预期返回值:

0 投票
1 回答
179 浏览

date - 如何使用 GREL (OpenRefine) 将日期字符串转换回 unix 时间

我正在处理一个包含数百万行的大型 CSV 文件。我正在使用 OpenRefine 来操作这个大型数据集。

我有一列包含格式为“2017-08-17 04:36:00”的日期字符串。我想将它们转换为整数格式的 Unix 时间,如 1502944560。

我看到很多关于将 Unix 时间转换为日期字符串的问答,但反之则不然。这在 OpenRefine 中可行吗?

0 投票
1 回答
90 浏览

openrefine - 使用 openrefine 提取一年中的一周

我想从一个大型数据集中提取一年中的一周。我选择了'基于此列添加列'并使用此脚本'value.toDate("yyyy/mm/dd").datePart("weeks")'

见附图

然而,结果是一个月中的一周,而不是一年。

0 投票
1 回答
180 浏览

openrefine - 是否有一个 GREL OpenRefine 函数来识别和删除不包含任何条目的列

我有一个包含许多列的大型项目。有些列有条目,但许多列没有任何条目。有没有办法确定哪些列是完全空的,然后删除这些列?这个动作可以用 GREL 编写,一次性应用到整个项目吗?

目前使用 OpenRefine 2.8 版