在实际工作中,尤其是网页端数据的传输,我们经常会遇到json数据,看上去和Python当中的字典类型的数据很像,本文呢小编就通过pandas当中的内置方法json_normalize()来处理json格式的数据,最终生成DataFrame数据集方便我们进行后续的操作。本文主要想通过json_normalize()这个方法解析复杂格式的json形式的数据
在开始之前,我们先导入相应的依赖库,
import pandas as pd
01
解析基本的json格式的数据
我们先来看一个简单的例子
a_dict = {
'学校': '北京大学',
'地理位置': '北京',
'排名': 2
}
代码如下
pd.json_normalize(a_dict)
输出的结果如下
下面我们来看一个稍微有点复杂的例子,在列表中带有多个json格式的数据
json_list = [
{'学校': '清华大学', '地理位置': '北京', '排名': 1},
{'学校': '北京大学', '地理位置': '北京', '排名': 2},
]
pd.json_normalize(json_list)
输出的结果为
02
解析带有多层数据的json数据
下面我们来看一个带有多层json格式数据的对象,在“联系方式”这一层中还有“邮件”和“电话号码”,在“信息”这一层中有“学生”和“联系方式”两层,层层相套
json_obj = {
'学校': '清华大学',
'地理位置': '北京',
'排名': 1,
'信息': {
'学生': '张三',
'联系方式': {
'邮件': {
'qq邮箱': 'zhangsan@qq.com',
'163邮箱': 'zhangsan@.com'
},
'电话号码': '123456789',