如何用Pandas读取JSON文件

  • Post category:Python

读取JSON文件是数据分析中常用的操作之一,Pandas作为Python的数据分析库,具有解析和操作JSON数据的能力。下面是Pandas读取JSON文件的操作攻略:

1. 引入Pandas库和JSON库

在开始操作之前,需要先引入Pandas库和JSON库:

import pandas as pd
import json

2. 读取JSON文件

读取JSON文件的操作使用pd.read_json()函数,该函数支持读取本地JSON文件或从网络加载JSON数据。

2.1 读取本地JSON文件

读取本地JSON文件的代码如下:

with open('example.json', 'r') as f:
    data = json.load(f)
df = pd.DataFrame(data)

其中,’example.json’是本地JSON文件的路径。使用with open()打开文件,然后用json.load()将文件内容读成字典格式,最后将字典转换成DataFrame格式。

2.2 从网络加载JSON数据

读取从网络加载的JSON数据的代码如下:

url = 'https://api.example.com/data.json'
response = requests.get(url)
data = json.loads(response.text)
df = pd.DataFrame(data)

其中,’https://api.example.com/data.json’是网络JSON数据的地址,可以使用requests库发起GET请求获取数据,然后用json.loads()将数据转化为字典格式,最后将字典转换成DataFrame格式。

3. 支持读取嵌套JSON数据

如果JSON数据比较复杂,可能会有多层嵌套。Pandas可以解析多层嵌套JSON数据并生成DataFrame格式。例如,有如下嵌套JSON数据:

{
  "name": "Alice",
  "age": 25,
  "address": {
    "province": "Guangdong",
    "city": "Shenzhen",
    "street": "Huaqiang Road"
  },
  "phoneNumbers": [
    {"type": "home", "number": "123456789"},
    {"type": "work", "number": "987654321"}
  ]
}

使用Pandas读取该数据并生成DataFrame格式的代码如下:

data = {
  "name": ["Alice"],
  "age": [25],
  "address": [{"province": "Guangdong", "city": "Shenzhen", "street": "Huaqiang Road"}],
  "phoneNumbers": [[{"type": "home", "number": "123456789"}, {"type": "work", "number": "987654321"}]]
}
df = pd.json_normalize(data)

在本例中,数据被转换为字典格式,并使用pd.json_normalize()将其转换为DataFrame格式。

在多层嵌套JSON数据中,可以使用pd.json_normalize()对其进行扁平化操作,将多层嵌套的数据转化成一维格式,以便更好地进行数据分析和处理。

以上就是Pandas读取JSON文件的完整攻略及实例说明。