使用 OpenRefine(或 R)解析大型且复杂的 Json 文件的最佳方法

2024-01-28

我知道如何在 Open Fine 中解析 json 单元格,但这对我来说太棘手了。

我使用 API 提取了 4730 个 AirBNB 房间的日历,并通过其 ID 进行识别。

以下是一个 Json 文件的示例:

对于从现在到 2017 年 11 月的每个 ID 和一年中的每一天,我想提取当天该房间的可用性(真或假)及其价格。

我不知道如何解析这些信息。我猜想这意味着一系列嵌套的 forEach,但我找不到使用 Open Refine 执行此操作的正确方法。

当然我也尝试过

forEach(value.parseJson().calendar_months, e, e.days) 

结果是一堆字典数组,这让我很困惑。

任何帮助将不胜感激。如果 Open Refine 中的操作太困难,使用 R(或 Python)的解决方案对我来说也可以。


而不是仅仅将项目创建为文本,然后使用 GREL 来解析......

最好的方法是使用我们的 JSON 文件和 XML 文件的可视化导入器向导选择您想要使用的 JSON 记录部分(您甚至可以使用指向 JSON 文件的 URL,如示例中所示)。 (视频教程展示了如何操作:https://www.youtube.com/watch?v=vUxdB-nl0Bw https://www.youtube.com/watch?v=vUxdB-nl0Bw )

  1. Select the JSON part that contains your records that you want to parse and work with (this can be any repeating part, just select one of them and OpenRefine will extract all the rest) enter image description here

  2. Limit the amount of data rows that you want to load in during creation, or leave default of all rows. enter image description here

  3. 单击“创建项目”,现在您处于“行”模式。但是,如果您认为记录模式可能更适合上下文,只需再次将项目导入为 JSON,然后选择内容的下一个外部区域,可能是包含关键字段的更大数组等。在示例中,关键是字段可能是日期,以及为什么我突出显示给定日期的整个记录​​。这样,OpenRefine 将为每个记录提供键,并且记录模式可以让您比行模式更好地使用它们。

请随意使用这个示例并使其变得更好,甚至对所有人更有帮助,将其添加到我们的 Wiki 部分如何使用 https://github.com/OpenRefine/OpenRefine/wiki/User-Guide

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OpenRefine(或 R)解析大型且复杂的 Json 文件的最佳方法 的相关文章

  • 如何使用 R markdown 和 bookdown 将图形列表和表格列表添加到目录中

    我有一份报告 pdf 输出 我想在附录中添加参考书目 图表列表和表格列表 我希望这三个元素出现在目录中 我添加参考书目通过增加bibliography bibliography bib到我的 yaml 标头 我直接用 LaTex 添加的图形
  • R 是解释型编程语言还是编译型编程语言?

    R 是解释型编程语言还是编译型编程语言 The R FAQ https cran r project org doc FAQ R FAQ html What is R 003f说 R 的核心是一种解释型计算机语言
  • 将 pandas DataFrame 写入 unicode 中的 JSON

    我正在尝试将包含 unicode 的 pandas DataFrame 写入 json 但是内置的 to json函数对字符进行转义 我该如何解决 Example import pandas as pd df pd DataFrame a
  • 如何在 C# 中将 json 转换为平面结构

    我正在尝试用 C 编写函数 将 JSON 转换为键 值对 它应该支持数组 例如下面的 JSON title title value components component id id1 menu title menu title1 tit
  • 将json解析为条形图d3js

    我正在尝试使用 json url 创建条形图 关于印象和时间 我认为我没有正确引用 data data 中的数据 如何从 d3 中的 json 文件访问印象字段 var url https script google com macros
  • 如何在Shiny中默认选择verbatimTextOutput中的文本?

    这是与我之前的问题相关的问题 是否可以有固定宽度的 verbatimTextOutput 并让文本在 Shiny 中换行 https stackoverflow com q 58516071 7669809 我有以下闪亮的应用程序 http
  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle
  • 使用 JSONDecoder 解码的对象的打印输出出现问题

    我正在尝试快速解码 JSON 字符串 但在解码后访问属性时遇到一些奇怪的问题 这是我从本地存储的 JSON 文件检索的 JSON 文件的内容 word a usage partOfSpeech determiner 这是访问 JSON 文件
  • 在for循环中重命名ggplot2图

    我有一个关于在 for 循环中创建 ggplot2 图表 根据迭代重命名它们 然后在网格中排列图表的问题 我想做类似这个虚拟示例的事情 library ggplot2 a c 1 2 3 b c 4 5 6 for i in c 1 5 x
  • 如何调整ggplot2中的标题位置

    这是代码 require ggplot2 require grid pdf a pdf png a png a lt qplot date unemploy data economics geom line opts title A b l
  • 为什么 Twitter API 返回错误的推文 ID?

    我使用 Twitter API 来检索用户主页时间线推文 我使用 json 响应格式 最近推文 ID 在 API 中只是 id 被重新调整错误 举个例子 通常它应该像这样返回 id 14057503720 示例来自twitter控制台 但是
  • 修改 GGplot2 对象

    然而 我很好奇 是否可以添加任何特定的图例或将哪个物种对应于观察到的预期绘图中 以分别知道它是哪个圆圈 我目前使用的是一个名为 finches 的假数据集 该包称为 cooccurr 它创建一个 ggplot 对象 我很好奇如何实际编辑它以
  • 对象数组的 JSON 模式定义

    我见过这个其他问题 https stackoverflow com q 10809459 940217但它并不完全相同 我觉得我的问题更简单 但就是不起作用 我的数据如下所示 loc a value 1 toll null message
  • 使用 RSQLite 在 R 中加载 SQLite 表

    我有这个函数用来加载 SQLite 表 sqLiteConnect lt function database table library DBI library RSQLite con lt dbConnect SQLite dbname
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • 如何选择独特点

    我是一名 R 程序员新手 我有以下一系列观点 df lt data frame x c 1 2 3 4 y c 6 3 7 5 df lt df gt mutate k 1 df lt df gt full join df by k df
  • shell解析json并循环输出组合变量

    杰斯克喜欢我之前的话题 https stackoverflow com questions 74063588 shell parsing json contains spaces in string 我知道如何解析带有空格的简单 json
  • 使用变量在 r 中像 aes_string 一样选择轴

    我试图提供一个带有列名的变量来创建一个plotly图表 类似于ggplot2 aes string 不知怎的 我被困住了 plot ly iris x Sepal Length y Sepal Width works as expected
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3
  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col

随机推荐