json_normalize JSON 文件,包含包含字典的多级列表(包含示例)

2024-02-21

(最初是从上一个问题 https://stackoverflow.com/questions/51236433/json-normalize-json-file-with-list-containing-dictionary-sample-included但针对更普遍的问题重新设计)

这是我正在使用 2 条记录的示例 json 文件:

[{"Time":"2016-01-10",
"ID"
:13567,
"Content":{
    "Event":"UPDATE",
    "Id":{"EventID":"ABCDEFG"},
    "Story":[{
        "@ContentCat":"News",
        "Body":"Related Meeting Memo: Engagement with target firm for potential M&A.  Please be on call this weekend for news updates.",
        "BodyTextType":"PLAIN_TEXT",
        "DerivedId":{"Entity":[{"Id":"Amy","Score":70}, {"Id":"Jon","Score":70}]},
        "DerivedTopics":{"Topics":[
                            {"Id":"Meeting","Score":70},
                            {"Id":"Performance","Score":70},
                            {"Id":"Engagement","Score":100},
                            {"Id":"Salary","Score":70},
                            {"Id":"Career","Score":100}]
                        },
        "HotLevel":0,
        "LanguageString":"ENGLISH",
        "Metadata":{"ClassNum":50,
                    "Headline":"Attn: Weekend",
                    "WireId":2035,
                    "WireName":"IIS"},
        "Version":"Original"}
                ]},
"yyyymmdd":"20160110",
"month":201601},
{"Time":"2016-01-12",
"ID":13568,
"Content":{
    "Event":"DEAL",
    "Id":{"EventID":"ABCDEFG2"},
    "Story":[{
        "@ContentCat":"Details",
        "Body":"Test email contents",
        "BodyTextType":"PLAIN_TEXT",
        "DerivedId":{"Entity":[{"Id":"Bob","Score":100}, {"Id":"Jon","Score":70}, {"Id":"Jack","Score":60}]},
        "DerivedTopics":{"Topics":[
                            {"Id":"Meeting","Score":70},
                            {"Id":"Engagement","Score":100},
                            {"Id":"Salary","Score":70},
                            {"Id":"Career","Score":100}]
                        },
        "HotLevel":0,
        "LanguageString":"ENGLISH",
        "Metadata":{"ClassNum":70,
                    "Headline":"Attn: Weekend",
                    "WireId":2037,
                    "WireName":"IIS"},
        "Version":"Original"}
                ]},
"yyyymmdd":"20160112",
"month":201602}]

我正在尝试获取实体 ID 级别的数据帧(提取Amy and Jon从记录 1 和Bob, Jon, Jack来自记录 2)。我该怎么做呢? 为了澄清,级别是(内容 > 故事 > DerivedID > 实体 > Id)


With a 列表理解 https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions,您可以深入了解该结构,例如:

with open('test.json', 'rU') as f:
    data = json.load(f)

df = pd.DataFrame(sum([i['Content']['Story'][0]['DerivedId']['Entity']
                       for i in data], []))

print(df)

或者如果您有大量数据并且不想做笨重的事情sum() https://docs.python.org/3/library/functions.html#sum use itertools.chain.from_iterable https://docs.python.org/3/library/itertools.html#itertools.chain.from_iterable like:

import itertools as it
df = pd.DataFrame.from_records(it.chain.from_iterable(
    i['Content']['Story'][0]['DerivedId']['Entity'] for i in data))

Results:

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

json_normalize JSON 文件,包含包含字典的多级列表(包含示例) 的相关文章

  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • 反加入熊猫

    我有两个表 我想附加它们 以便仅保留表 A 中的所有数据 并且仅在其键唯一时添加表 B 中的数据 键值在表 A 和 B 中是唯一的 但在某些情况下键将出现在表 A 和 B 中 我认为执行此操作的方法将涉及某种过滤联接 反联接 以获取表 B
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • 使用 dict 在数据框中查找行

    df pd DataFrame a 1 2 3 b 4 5 6 produces a b 0 1 4 1 2 5 2 3 6 给定一个字典 d a 2 b 5 我将如何提取数据帧中字典的键值与所有列值匹配的行 所以在这种情况下 a b 1
  • Python While 循环,and (&) 运算符不起作用

    我正在努力寻找最大公因数 我写了一个糟糕的 运算密集型 算法 它将较低的值减一 使用 检查它是否均匀地划分了分子和分母 如果是 则退出程序 但是 我的 while 循环没有使用 and 运算符 因此一旦分子可整除 它就会停止 即使它不是正确
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • 负整数的Python表示

    gt gt gt x 4 gt gt gt print b format x x 4 100 gt gt gt mask 0xFFFFFFFF gt gt gt print b format x mask x mask 4294967292
  • 无法从 JQuery ajax 调用接收 JSON

    我已经确定来自服务器的 JSON 是有效的 手动进行 ajax 调用 但我真的很想使用 JQuery 我还使用 firebug 确定发送到服务器的 post URL 是正确的 但是 错误回调仍然被触发 解析错误 我还尝试了数据类型 文本 我
  • ValueError:无法插入 ID,已存在

    我有这个数据 ID TIME 1 2 1 4 1 2 2 3 我想按以下方式对数据进行分组ID并计算每组的平均时间和规模 ID MEAN TIME COUNT 1 2 67 3 2 3 00 1 如果我运行此代码 则会收到错误 ValueE
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • Python模块单元测试的最佳文件结构组织?

    遗憾的是 我发现有太多方法可以在 Python 中保存单元测试 而且它们通常没有很好的文档记录 我正在寻找一种 终极 结构 它可以满足以下大部分要求 be discoverable by test frameworks including
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • 从 dask 数据框中的日期时间序列获取年份和星期?

    如果我有一个 Pandas 数据框和一个日期时间类型的列 我可以按如下方式获取年份 df year df date dt year 对于 dask 数据框 这是行不通的 如果我先计算 像这样 df year df date compute
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 使用“pythonw”(而不是“python”)运行应用程序时找不到模块

    我尝试了这个最小的例子 from flask import Flask app Flask name app route def hello world return Hello World if name main app run deb
  • 从时间序列生成日期特征

    我有一个数据框 其中包含如下列 Date temp data holiday day 01 01 2000 10000 0 1 02 01 2000 0 1 2 03 01 2000 2000 0 3 30 01 2000 200 0 30
  • Jackson 反序列化相当于 @JsonUnwrapped 吗?

    假设我有以下课程 public class Parent public int age JsonUnwrapped public Name name 生成 JSON age 18 first Joey last Sixpack 我如何将其反
  • 有序 JSON 对象

    我有一个 servlet 它与数据库通信 然后返回有序 按时间排序 对象的列表 在servlet部分 我有 access DB returns a list of User objects ordered ArrayList users M
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • Dart JsonSerialized 与抽象类

    我正在尝试为一个对象生成 json 辅助函数 该函数包含一个具有抽象类类型的列表 如下所示 import package json annotation json annotation dart import exercise variat
  • 数据库设计 - 两个项目应该共享同一个表吗?

    背景 同时设计的两个项目 A B 都需要一个新表 称为DocumentStore 在 postgres 下存储文档 文件 但是项目 A 和 B 之间围绕文档存储的业务逻辑是不同的 这意味着围绕文档存储的关系DocumentStoreA 和
  • java.lang.RuntimeException 找不到 FacesContext

    我不知道如何继续 但我的新 JSF 1 2 Web 应用程序总是收到 java lang RuntimeException 找不到 FacesContext 我确信这只是我找不到的一些配置 异常发生在第一个f or h 标签 已经有了重要的
  • korn 和 bash shell 之间的区别[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对 Unix 完全陌生 目前 我被要求了解这两个方面康壳 ksh and bash shell 有人可以给我简要介绍一下这两者吗 是这个
  • Camera2cameraManager.openCamera在某些设备上有时会出现异常

    我有一个录制视频的应用程序 目前安装量约为 80K 超过 100K 下载量 Crashlytics 统计数据似乎不错 无崩溃用户 99 66 Google Play 上的评分也不错 4 5 但对于我的一些用户来说 仍然可能会发生下一个错误
  • 如何让 SwiftUI 的 .onContinueUserActivity 工作

    我很好奇 有没有人设法让 SwiftUI 的 onContinueUserActivity 工作 看着来自苹果的示例代码 https developer apple com documentation swiftui restoring y
  • 实体对象不能被 IEntityChangeTracker 的多个实例引用

    我使用 EF 作为 ORM 我处置objectContext根据每一个要求 我将实体保存在缓存层中 因为我的服务获得大量流量 我有时会收到错误objectContext already disposed对于我从缓存中获取的一些实体 我已将此
  • ## 预处理器运算符有哪些应用以及需要考虑的问题?

    正如我之前的许多问题中提到的 我正在使用 K R 目前正在使用预处理器 更有趣的事情之一是我之前学习 C 的尝试中从未了解过的事情 预处理器运算符 根据 K R 的说法 预处理器运算符 提供了一种连接实际的方法 宏展开期间的参数 如果一个
  • 组件返回失败代码:0x80004005

    仅当我执行此操作时 有时才会触发此错误XMLHttpRequest uncaught exception Exception Component returned failure code 0x80004005 NS ERROR FAILU
  • Ruby - 是否可以将方法别名为安全导航运算符

    Ruby 2 3 引入了安全导航运算符 但我发现它的语法过于离散 在简单扫描代码时很容易错过 相反 我更喜欢以下语法try因为它看起来更加明显和有意 所以我的问题是在 Ruby 2 3 中 有没有办法为安全导航运算符添加别名或猴子修补方法
  • 从Python调用Matlab函数

    我有一个项目 其中有一个一个 matlab 代码 我必须运行 Django 我尝试安装 Mlabwrap 但它给了我以下错误 Traceback most recent call last File
  • 应用程序不再可用

    在移动设备上安装应用程序后 并将设备时间更改为一周前 并尝试打开应用程序它说 MyAppName Is No Longer Available 任何遇到此问题的人请告诉我 您的意见非常重要 我们有很多理由这样做 如果您没有有效的开发者许可证
  • 使用 tweepy 保存推文全文

    我是一个Python新手程序员 我在尝试使用以下命令提取一系列推文的文本时遇到问题tweepy并将其保存到文本文件 我省略了身份验证和其他内容 search api search hello count 10 textlist for i
  • 解析本地HTML文件

    我可以使用 PowerShell 解析 HTML 页面 PS gt foo Invoke WebRequest http example com PS gt foo Links Count 1 但是 如果我下载该页面 PS gt Invok
  • 结构错误中的联合

    我有以下结构 struct type1 struct type2 node union element struct type3 e int val 初始化指针时 f指向一个实例type1并做类似的事情 f element gt e甚至只是
  • 在 MATLAB 中更改 seqlogo 图形的 x 轴

    我正在制作大量seqlogos http www mathworks com access helpdesk help toolbox bioinfo ref seqlogo html以编程方式 它们有数百列宽 因此运行seqlogo通常会
  • 如何让网格为空白单元格绘制边框?

    我有一个 ItemsControl 它使用Grid as the ItemsPanelTemplate 并设置 Grid Column 和 Grid RowItemContainerStyle在网格中定位数据项 有没有办法将网格线添加到网格
  • CSS3 flexbox 调整垂直对齐元素的高度

    是否有可能使 item 1高度灵活可调 item 2高度 例如 if item 1高度是10 then item 2高度是90 if item 1高度是11 then item 2高度是89 所以根据内容 item 1我们应该调整它的大小
  • 时间:如何获得下周五?

    我怎样才能得到下周五乔达时间 http www joda org joda time API The LocalDate http www joda org joda time apidocs org joda time LocalDate
  • json_normalize JSON 文件,包含包含字典的多级列表(包含示例)

    最初是从上一个问题 https stackoverflow com questions 51236433 json normalize json file with list containing dictionary sample inc