- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含图书馆目录记录的 xml 文件。我已将其导入 OpenRefine,但所有值都在一列中。我想转置它,以便记录中的每个字段都有自己的列。但是,由于 a) 每个字段都是可选的,因此并不存在于所有记录中,并且 b) 许多字段是可重复的,因此可以在每个记录中出现多次,因此这很复杂。这是数据的简化示例:
| RecordID | Tag | Data |
| 1 | 040a | CaABCD |
| 1 | 245a | Go fish |
| 1 | 245a | A guide to fish |
| 1 | 246i | Fish series |
| 1 | 260a | Fishing friends |
| 2 | 040a | CaABDC |
| 2 | 245a | Happy trails |
| 2 | 246i | Hiking series |
| 2 | 260i | The happy hiker |
| 2 | 500a | Notes |
我已经阅读了这里的问答Openrefine - Transpose rows into columns based on text但是这个解决方案的问题是,如果我将所有值连接在一起,我将无法确定它们属于哪个字段,因为我的数据比那个问题中的数据复杂得多(我的实际数据有 25 个以上的字段以及数千条记录)。
我能够更接近使用 Google 表格并制作一个带有计算字段的数据透视表(如 PivotTable to show values, not sum of values - 请参阅最底部的答案)。但是,我仍然不知道如何处理重复字段。在数据透视表中,有多个值,但只显示第一个值(双击单个单元格会弹出一个列出所有值的详细信息表),因此当我复制粘贴该表时,我会丢失其他值。我想连接它们,但在数据透视表中看不到这样做的方法。
你能想到我可以用 OpenRefine 或其他工具做这件事的任何其他方法吗?谢谢!
最佳答案
在 OpenRefine 中解决这个问题的经典方法是使用“Transpose -> Columnize by key value”。但是这个特征是poorly documented甚至会让 OpenRefine 开发人员头疼。在您的情况下,重复的字段会有问题,因此这是一个可能的解决方案。
1° 转到“标签”列,单击“转置 -> 按键值列化”并使用以下配置(不要忘记“注释列(可选)”)
结果是这样的(我的数据集和你的不完全一样,我修改了一个值做一些测试)
2° 在新列“记录 ID:040 a”中,单击“编辑列 -> 将列移至开头”。
3° 如果您想合并重复的字段,转到包含它们的每个列并单击“编辑单元格 -> 加入多值单元格”并选择分隔符,例如“|”。
最终结果将如下所示。
要删除不必要的列:单击“导出”->“自定义表格导出”并取消选择名称以 RecordId 开头的列。
关于openrefine - 将可变数量的行转置为 OpenRefine 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57233255/
有没有人在 OpenRefine 中遇到过协调问题?我已经导入了美国大学和学院的列表,选择了 50 行,并尝试了 Freebase、DBpedia、OpenCorporates 对帐服务。我以前在 D
是否可以使用 GREL 在列中生成“计数器”,即累进数? 例如,我想添加 value到那个数字来为每条记录生成一个标识符。 最佳答案 OpenRefine 项目中的每一行都有一个索引 - 从零开始的序
我有一个包含图书馆目录记录的 xml 文件。我已将其导入 OpenRefine,但所有值都在一列中。我想转置它,以便记录中的每个字段都有自己的列。但是,由于 a) 每个字段都是可选的,因此并不存在于所
我正在尝试创建一个包含 true 或 false 的新列。基本上,A 列中有一个数字,介于 1 和 6 之间,如果它高于 3,我希望新列“匹配”包含真,否则包含假。在尝试以下 GREL 时使用基于列的
我在 Openrefine 中有一列,我想根据字符串中的位置在其每一行中添加一个字符串。例如:我有一个第 8 个字符的数字字符串:85285296 并想在第四位添加“-”:“8528-5296”。谁能
我正在使用 OpenRefine(以前是 Google Refine)从多个来源清理数据。我有来自不同来源的文件,其中包含公司,列定义相同,即 UNID | Name | Street
我需要在 Openrefine 中验证 if 条件内的 2 个值我已经尝试过: if(value > 5.6 | 5.6 || 5.6 or 5.6, value < -33) , "Insid
我有一个要应用于多列的转置。生成的Grel显示columnName或Base名称,但这意味着我必须编辑每列的代码。认为有一种方法可以找到列索引,并具有适用于“当前”列,按索引列出的列或所有列的代码。
我无法替换单元格中的空值。我创建了一个构面,以仅显示具有空值的单元格。然后,我去编辑单元格>转换函数,并尝试使用replace function,但它似乎没有用。 我尝试过的不同方法: replace
我有一个巨大文件,主要由图书元数据(作者、标题、日期、网址)组成。我的问题是,我想对作者姓名(经常重复:一个作者可以有数百条记录)进行操作,并且我想对这些作者中拥有超过 X 条记录的子集进行操作。 例
我想使用维基数据协调,通过获取这些语言的标签,将一列术语翻译成各种语言。使用 SPARQL,我将按语言过滤标签查询(这是在各种类似情况下建议的方法)。但是,我不知道如何使用 OpenRefine 协调
我想使用维基数据协调,通过获取这些语言的标签,将一列术语翻译成各种语言。使用 SPARQL,我将按语言过滤标签查询(这是在各种类似情况下建议的方法)。但是,我不知道如何使用 OpenRefine 协调
我有行数可变的记录和具有 7 个可能值的 A 列,所有这些都是可重复的。 我需要一个基于 A 的新列 B,显示每条记录中每个值的出现次数。每条记录中的计数都应重置。 我设法对 A 列中的行进行排序,在
我有一些包含多行的记录。我想根据第一行中的字符串为记录中的每一行指定一个唯一的 ID,其中包含原始 ID + _01 _02 _03 等等。 然后我希望计数器在下一个带有新字符串的记录开始时重置,并重
我想调查某一列为空的行。我将根据其他列中的值填充这些单元格,但我想确定哪些单元格尚未完成。 如果我在该列上创建一个过滤器,它不会执行任何操作,直到我输入一些内容 - 但我正在寻找的东西什么也没有...
我一直在 Open Refine 上清理 table 。我现在是这样的: REF Handle Size Price 2002, 2003
我有一些包含多行的记录。我想根据第一行中的字符串为记录中的每一行指定一个唯一的 ID,其中包含原始 ID + _01 _02 _03 等等。 然后我希望计数器在下一个带有新字符串的记录开始时重置,并重
我有一列名称,例如: 夸利亚,彼得罗·保罗 Bernard, of Clairvaux, Saint, or .E., Calvin F. Swingle、M Abate、Agostino、Asser
我想知道 OpenRefine 是否允许您在创建新列时访问其他行的数据。我怀疑它不会(这将是一个合理的设计原则),但可能有一个解决方案。 以下是人们可能想要做的事情的示例:将一列移动一行。 我有下表:
我正在使用 openrefine 清理一个 excel 数据集。我有大约 70 次操作,我一直在剪切和粘贴不同的数据集。我维护一个记录 ID 并导出到一个新的 excel 表。然后我使用记录 ID 重
我是一名优秀的程序员,十分优秀!