Pandas 读取嵌套的 json

作者:编程家 分类: pandas 时间:2025-09-21

使用Pandas库读取嵌套的JSON数据是一种常见的数据处理任务。Pandas提供了一个函数,可以轻松地将JSON数据加载到DataFrame中进行分析和处理。本文将介绍如何使用Pandas读取嵌套的JSON数据,并通过一个案例来演示其用法。

首先,我们需要导入Pandas库,并使用`read_json()`函数读取嵌套的JSON数据。该函数会将JSON数据解析为DataFrame对象,方便我们进行后续的操作。

下面是一个简单的例子,假设有一个名为data.json的文件,其中包含了一些嵌套的JSON数据:

{

"students": [

{

"id": 1,

"name": "张三",

"age": 18,

"grades": [80, 85, 90]

},

{

"id": 2,

"name": "李四",

"age": 17,

"grades": [75, 82, 88]

},

{

"id": 3,

"name": "王五",

"age": 19,

"grades": [90, 92, 95]

}

]

}

现在,我们将使用Pandas读取这个JSON数据,并进行进一步的分析。

python

import pandas as pd

# 读取JSON数据

df = pd.read_json('data.json')

# 打印DataFrame

print(df)

运行以上代码,我们可以看到输出的DataFrame包含了嵌套的JSON数据的所有信息:

students

0 {'id': 1, 'name': '张三', 'age': 18, 'grades': ...

1 {'id': 2, 'name': '李四', 'age': 17, 'grades': ...

2 {'id': 3, 'name': '王五', 'age': 19, 'grades': ...

通过观察DataFrame的输出,我们可以发现嵌套的JSON数据被转换为了字典对象,并作为一个列存储在DataFrame中。这样,我们就可以使用Pandas的各种函数和方法来处理这些数据了。

接下来,我们可以使用Pandas的`explode()`函数将嵌套的字典展开为多行。这样,每个学生的信息将被展开为一个单独的行,方便我们进行进一步的分析。

python

# 展开嵌套的字典

df_expanded = df['students'].apply(pd.Series)

# 打印展开后的DataFrame

print(df_expanded)

运行以上代码,我们可以看到展开后的DataFrame包含了每个学生的详细信息:

id name age grades

0 1 张三 18 [80, 85, 90]

1 2 李四 17 [75, 82, 88]

2 3 王五 19 [90, 92, 95]

现在,我们可以对展开后的DataFrame进行各种操作,例如计算每个学生的平均成绩、筛选年龄大于等于18岁的学生等等。

在本文中,我们介绍了如何使用Pandas读取嵌套的JSON数据,并展示了一个简单的案例。通过使用Pandas的函数和方法,我们可以轻松地对嵌套的JSON数据进行处理和分析。无论是处理小型的嵌套JSON数据,还是处理大规模的复杂JSON数据,Pandas都是一个强大而灵活的工具。

案例代码:

python

import pandas as pd

# 读取JSON数据

df = pd.read_json('data.json')

# 打印DataFrame

print(df)

# 展开嵌套的字典

df_expanded = df['students'].apply(pd.Series)

# 打印展开后的DataFrame

print(df_expanded)

通过本文的介绍,我们了解了如何使用Pandas库读取嵌套的JSON数据,并展示了一个简单的案例。使用Pandas可以方便地将JSON数据加载到DataFrame中进行分析和处理。希望本文对您学习和使用Pandas有所帮助!