问题标签 [json-normalize]

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 投票
4 回答
798 浏览

python - 如何将嵌套的 JSON 下载到 pandas 数据框中

希望提高我的数据科学技能。我正在练习从体育网站提取 url 数据,并且 json 文件有多个嵌套字典。我希望能够提取这些数据以在 matplotlib 等中映射我自己的自定义排行榜形式,但是很难将 json 转换为可行的 df。

主网站是:https ://www.usopen.com/scoring.html

看看背景,我相信实时信息是从下面的短代码中列出的链接中提取的。我正在使用 Jupyter 笔记本。我可以成功拉取数据。

但正如您所看到的,它正在拉取多个嵌套字典,这使得拉取简单的数据框变得非常困难。

只是在寻找球员,得分达到标准杆,总杆数和拉杆数。任何帮助将不胜感激,谢谢!

0 投票
1 回答
80 浏览

python - 如何将多列字典转换为数据框?

我正在使用 cryptocompare API 并尝试为一堆不同的代码提取历史数据。

代码从 Excel 电子表格中读取,然后通过 API 加载以获取每个代码的历史价格。

这是我目前收到的数据框:https ://docs.google.com/spreadsheets/d/1jQ7F0H2D-voTBxjHI3QVPTRNyR4m4qKob8NE04JWVY0/edit?usp=sharing

我想知道几件事:

  1. 如何让索引成为日期和
  2. 我将如何访问“关闭”数据点?

这是目前我的代码:

样本数据

  • 前 5 行Crypto Scrape df.xlsx
0 投票
2 回答
67 浏览

python - 从列中的dict中提取值作为列值,存在NA

我目前正在尝试从出现在一系列列中的几个 dicts 中提取值,有两个问题:

由于有 4 列有问题,因此它们是通过以下代码行从先前的 dict-in-column 值中解压缩的:

这个字典是在以下形式的列中解压缩一个字典:

dictd的长度在 0-4 之间。

在解压数据框之前,我解压的列如下所示:

解压后它现在有形式

虽然这最初解决了我的第一个问题,但我现在正试图将值从包含字典的列中提取出来,对此我有点不知所措。

我尝试过的潜在解决方案只是为每一列(a、b、c)运行上面的代码段,但这既丑陋又低效。至多我知道,pd.json_normalize当我第一次启动我的程序时,一个简单的修复方法是对初始数据帧进行修复,但是对于似乎可以轻松解决的问题,这将需要进行重大修复和重构。作为参考,理想的输出是这样的:

整个数据框有几十万行,有 20 列在不断变化。

0 投票
1 回答
238 浏览

python - 嵌套 JSON:pandas.json_normalize 和错误不可散列类型:'dict'

在这里,我从请求响应中得到了一个嵌套的 JSON,例如:

我想要一个扁平的df,例如:

日期、daily_stats.consume_data.fans_go_detail_count、consume_detail.click_rate 等。

将它输入 pandas.json_normalize 我得到:

问题:

  1. 'daily_stats' 和 'jump_rate' 仍然打包在列表中,例如:
  1. 'fans_data': {}、'interaction_data': {}、'ranking_data': {} 等空字段缺失。

我试图添加 record_path=r.json['daily_stats'] 然后我得到:

当然可以手动将每个循环解包到 dfs 并加入并转换为一个平面,但我有一种感觉有一种方法可以不用大惊小怪。

0 投票
1 回答
423 浏览

python - 如何提取嵌套 JSON 的所有元素?

我正在尝试将以下 JSON 代码转换为 csv 文件并通过 python 解析文件。我不确定如何超越“变体”部分。

我必须阅读各种数组列表,但大多数属性都是可选的。

想看看如何有效,我可以读取每个列表下的每个属性,以便我可以将它们作为逗号分隔的记录写入输出文件,该文件用作我的 ETL 处理负载的输入。

这是我的代码:

下面给出的快照是一个 JSON 输入文件:

使用完整的 JSON 数据文件运行以下给定代码时引发以下错误

0 投票
3 回答
2140 浏览

python - 如何从多个 API 调用更新熊猫数据框

我需要做一个python脚本来

  1. 读取包含列 ( person_id, name, flag) 的 csv 文件。该文件有 3000 行。
  2. 基于person_id来自 csv 文件,我需要调用一个 URL 传递person_id来做一个 GET http://api.myendpoint.intranet/get-data/1234 该 URL 将返回一些信息person_id,如下例所示。我需要获取所有租金对象并保存在我的 csv 中。我的输出需要是这样的

响应示例

  1. 从 csv 的响应中保存附加数据后,我需要使用 URL 上的 carId 从另一个端点获取数据。里程结果必须保存在同一个csv中。 http://api.myendpoint.intranet/get-mileage/6638 http://api.myendpoint.intranet/get-mileage/5566

每次调用的返回将是这样的

最终输出必须是

有人可以帮我写这个脚本吗?可以与 pandas 或任何 python 3 库一起使用。

0 投票
1 回答
433 浏览

python - 如何将 AWS CloudTrail JSON 日志读入 pandas 数据帧

我在使用运行 Anaconda3 的 Jupyterlab 将数据加载到 Pandas 时遇到问题,因为我的 VM 突然停机。启动后,我发现我的代码由于某种原因不再工作。这是我的代码:

当我运行代码时,它给了我这样的 KeyError 消息:

当我运行 print(awss.info()) 或 print(awsc.info()) 时数据帧 awsc 的输出:

有什么办法可以解决这个问题吗?问题是来自 Pandas 还是 Anaconda?

0 投票
1 回答
1178 浏览

python-3.x - 如何将嵌套字典转换为熊猫数据框

我正在尝试转换包含在其他数据框内的数据框,例如:

我尝试使用:

但结果数据框如下所示:

任何想法?

0 投票
2 回答
156 浏览

python - 如何处理将 isbnlib.meta 与 pandas 一起应用返回的错误

当您输入 isbn 时,我正在使用isbnlib.meta它来提取元数据(书名、作者、出版年份等)。我有一个包含 482,000 个 isbns 的数据框(列标题:isbn13)。当我运行这个函数时,我会得到一个错误,比如NotValidISBNError停止它的轨道中的代码。我想要发生的是,如果出现错误,代码将简单地跳过该行并移至下一行。

这是我现在的代码:

list_df[0]是前 20,000 行,因为我试图通过数据框进行分块。我刚刚手动输入此代码 24 次来处理每个块。

我尝试尝试:并且除了:但最终发生的只是代码停止并且我没有收到任何元数据报告。

追溯:

0 投票
1 回答
76 浏览

python - 在 pandas 中拆开 json 字典

我有一个给你。

所以我试图解压缩我从 api 获得的一些专有数据。

对于一个可重复的示例,一旦我解压缩 json 数据,我会得到一个看起来像这样的字典

然后我使用此代码制作数据框

现在这给了我一个看起来像这样的数据框。

现在,我发现问题在于,当我使用 json_normalize 时,它​​没有下降到足够的水平。如果我做类似的事情

它返回给我一个 2 行 2 列的数据框。如果我做

我得到一个在 order_items 列中有数据框对象的数据框,我不太清楚如何使用。

我想要做的是解压缩我在较低级别制作的表格,并使我的数据框更长。我希望它看起来像这样

关于如何做到这一点的任何建议?

附言。我认为 json_normalize 没有下降到足够水平的原因是因为 order_items 的长度不同。