首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有列表和字典的嵌套JSON

带有列表和字典的嵌套JSON
EN

Stack Overflow用户
提问于 2021-02-25 19:05:27
回答 2查看 251关注 0票数 1

我正在尝试将嵌套的JSON提取到具有以下结构的数据帧中:

代码语言:javascript
运行
AI代码解释
复制
[
{'id': '1','sort': 'kg', 'name': 'meal','detail': 
   [
       {'subid': 'A', 'name': 'Example','values': 
       [
          {'value': '3', 'time': 0320},
          {'value': '4', 'time': 0330},

我试着用json_normalize进行抽取,但是我被第二层的‘值’卡住了。我认为这与normalize可以使用的级别数量有关。有没有其他方法可以将这种结构放入数据帧中?

我的代码是:

代码语言:javascript
运行
AI代码解释
复制
myJsonResponse = json.loads(response.content)
objects = pd.json_normalize(myJsonResponse, record_path='detail', meta=['id','sort','name'], errors='ignore', meta_prefix='data_')
objects.explode('values')

enter image description here

EN

回答 2

Stack Overflow用户

发布于 2021-02-26 19:24:58

它不像一行代码那么优雅,但它可以处理多个嵌套层次:

代码语言:javascript
运行
AI代码解释
复制
jsondata = [
        {'id': '1','sort': 'kg', 'name': 'meal','detail': 
            [
                {'subid': 'A', 'name': 'Example','values': 
                    [
                        {'value': '3', 'time': 320},
                        {'value': '4', 'time': 330},
                        {'value': '5', 'time': 340}
                    ]
                }
            ]
        }
    ]

import pandas as pd

rows = []
for d1 in jsondata:
    row = {}
    row.update( d1 )
    del row['detail']
    for d2 in d1['detail']:
        row['subid'] = d2['subid']
        row['namex'] = d2['name']
        for d3 in d2['values']:
            row.update(d3)
            rows.append( row )

o = pd.DataFrame(rows)
print(o)
票数 0
EN

Stack Overflow用户

发布于 2021-03-15 03:23:01

您可以使用flatten_json

代码语言:javascript
运行
AI代码解释
复制
from flatten_json import flatten

jsondata = [
        {'id': '1','sort': 'kg', 'name': 'meal','detail': 
            [
                {'subid': 'A', 'name': 'Example','values': 
                    [
                        {'value': '3', 'time': 320},
                        {'value': '4', 'time': 330},
                        {'value': '5', 'time': 340}
                    ]
                }
            ]
        }
    ]

    
dic_flattened = (flatten(d, '.') for d in jsondata)
df = pd.DataFrame(dic_flattened)

输出

代码语言:javascript
运行
AI代码解释
复制
  id sort  name detail.0.subid detail.0.name detail.0.values.0.value  detail.0.values.0.time detail.0.values.1.value  detail.0.values.1.time detail.0.values.2.value  detail.0.values.2.time
0  1   kg  meal              A       Example                       3                     320                       4                     330                       5                     340
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66374883

复制
相关文章
python 字典和列表嵌套用法
python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了。不过网上的基础教程只告诉你列表、字典是什么,如何使用,很少做组合说明。
钢铁知识库
2022/08/20
5.8K0
Python中字典和列表的相互嵌套问题
在学习过程中遇到了很多小麻烦,所以将字典列表的循环嵌套问题,进行了个浅浅的总结分类。
润森
2022/08/18
6.1K0
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
然后 , 准备 python 数据 , 将数据放到 list 列表中 , 列表中的元素是 dict 字典 ;
韩曙亮
2023/10/11
6960
【Python】json 格式转换 ① ( json 模块使用 | 列表转 json | json 转列表 | 字典转 json | json 转字典 )
python 字典、列表、json转换
#!/usr/bin/python3   import json      #python字典类型转换为json对象   data = {       'id' : 1,       'name' : 'test1',       'age' : '1'   }   data2 = [{       'id' : 1,       'name' : 'test1',       'age' : '1'   },{       'id' : 2,       'name' : 'test2',       '
一朵灼灼华
2022/08/05
1.4K0
python_字典列表嵌套的排序问题
上一篇我们聊到python 字典和列表嵌套用法,这次我们聊聊字典和列表嵌套中的排序问题,这个在python基础中不会提到,但实际经常运用,面试中也喜欢问,我们娓娓道来。
钢铁知识库
2022/08/20
3.8K0
python 列表 字典转json
这一个JSON字符串可以在Android Studio中利用插件GsonFormat转换得到相应对象。
py3study
2020/01/06
2K0
python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
大量数据,里面有多行多列,出现类似标题报错 raise JSONDecodeError(“Extra data”, s, end) json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 104)
汀丶人工智能
2022/12/21
15.7K0
python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
python处理json数据(复杂的json转化成嵌套字典并处理)
一 什么是json json是一种轻量级的数据交换格式。它基于 [ECMAScript]((w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 我们用浏览器打开json文件往往是一堆字符形式的编码,python处理过后会自动转化为utf8格式 有利于使用。 二 python处理所需要的库 requests json 如果没有安装
98k
2018/04/11
5.7K0
使用 yield 压平多层嵌套字典列表混合数据
在上一篇文章里面,我们讲到了如何使用Python的yield关键字简化代码,压平多层嵌套字典的。
青南
2019/11/07
2K0
python字典嵌套字典实例
日志文件样式: 2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] from: <lilh@test.com><router>, to: <xiey@test.com,zhengj@test.com>, size: 22018 2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] system rule send: pass filter 2018-06-27 09:07:37
py3study
2020/01/09
1.3K0
⭐️C# 零基础到进阶⭐️| 字典和列表 相互嵌套使用 的终极总结!
当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。
呆呆敲代码的小Y
2021/08/20
2.7K0
⭐️C# 零基础到进阶⭐️| 字典和列表 相互嵌套使用 的终极总结!
Python列表推导式和嵌套的列表推导式
列表推导式提供了一个更简单的创建列表的方法。常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列。
py3study
2020/01/16
5.4K0
python模块list 转json字符串_python 列表 字典转json[通俗易懂]
bJson = json.dumps(bItem, ensure_ascii=False)
全栈程序员站长
2022/11/02
4.6K0
【说站】Python字典和json的比较
(1)dict是一个完整的数据结构,它实现了HashTable的数据结构,它是一套将数据从存储封装到提取的方案,它使用内置的HashTable函数来为key对应值规划存储位置,从而获得O(1)的数据读取速度。
很酷的站长
2022/11/23
9100
【说站】Python字典和json的比较
python基础之字典的嵌套
  在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。这里介绍一下python字典的嵌套相关知识。
jiankang666
2022/06/22
1.2K0
python基础之字典的嵌套
python处理列表和字典的小技巧
一、获取字典中value最大对应的key key = max(my_dict, key=my_dict.get) 例子 二、 从列表或字典中随机选取一个元素 import random 2.1 从列表中随机选取一个元素 random_value = random.choice(my_list) 2.2 从字典中随机选取一个元素的键或值 random_key = random.choice( list( my_dict.keys() ) ) random_value = random.choice(
SL_World
2021/09/18
1.1K0
json字符串和字典的区别
json字符串和字典的区别: json: (JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式, 前端使用ajax的时候后台返回该前端的数据格式就是json格式的。
武军超
2019/02/25
3.1K0
点击加载更多

相似问题

生成带有列表和字典理解的嵌套字典

30

带有列表和字典的嵌套循环

10

如何使用带有嵌套列表和字典的Python循环JSON文件

31

带有字典、列表和If语句的嵌套循环

11

json :字典的嵌套列表

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文