Python 读取Json文件

Python 读取Json文件

在很多情况下,我们需要读取Json文件中的数据,然后将其用于程序中。Python提供了基础的Json解析模块,以及一些便捷的第三方库来完成这个任务。

Python JSON 解析模块

Python 标准库提供了一个Json解析器,它支持解析JSON格式的数据。我们可以使用 json 模块来将Json字符串转换成Python对象,以及将Python对象转换成Json字符串。

Json to Python

下面是一个将Json字符串转换成Python对象的例子。

import json

json_str = '{"name": "John Smith", "age": 30, "city": "New York"}'
python_obj = json.loads(json_str)

print(python_obj)
# Output: {'name': 'John Smith', 'age': 30, 'city': 'New York'}

在上例中,我们使用 json.loads() 方法将Json字符串转换成了Python对象。

Python to Json

下面是一个将Python对象转换成Json字符串的例子。

import json

python_obj = {'name': 'John Smith', 'age': 30, 'city': 'New York'}
json_str = json.dumps(python_obj)

print(json_str)
# Output: {"name": "John Smith", "age": 30, "city": "New York"}

在上例中,我们使用 json.dumps() 方法将Python对象转换成了Json字符串。

Python Json读取文件

我们已经学习了如何将Json字符串转换成Python对象,以及将Python对象转换成Json字符串,那么下面我们来看怎么读取Json文件。

假设我们有一个名为 users.json 的Json文件,包含一些用户数据,具体内容如下:

{
    "users": [
        {
            "id": "10001",
            "name": "张三",
            "gender": "男",
            "age": 20
        },
        {
            "id": "10002",
            "name": "李四",
            "gender": "女",
            "age": 19
        },
        {
            "id": "10003",
            "name": "王五",
            "gender": "男",
            "age": 18
        }
    ]
}

我们可以使用 json.load() 方法来读取Json文件中的数据。下面是一个将Json文件读取成Python对象的例子:

import json

with open('users.json', 'r') as f:
    data = json.load(f)

print(data)

输出如下:

{'users': [
    {'id': '10001', 'name': '张三', 'gender': '男', 'age': 20},
    {'id': '10002', 'name': '李四', 'gender': '女', 'age': 19},
    {'id': '10003', 'name': '王五', 'gender': '男', 'age': 18}
    ]
}

Python Json写入文件

想要写入数据到Json文件也是非常容易的。使用 json.dump() 方法将Python对象写入到Json文件中即可。下面是一个写入Python对象到Json文件的例子:

import json

data = {
    'users': [
        {'id': '10001', 'name': '张三', 'gender': '男', 'age': 20},
        {'id': '10002', 'name': '李四', 'gender': '女', 'age': 19},
        {'id': '10003', 'name': '王五', 'gender': '男', 'age': 18}
   ]
}

with open('users.json', 'w') as f:
    json.dump(data, f)

在上例中,我们创建一个包含用户数据的Python对象,并使用 json.dump() 方法将其写入到了 users.json 文件中。

Python 第三方库

在前面的例子中,我们使用了Python标准库的 json 模块来进行Json操作,它提供了基础的Json解析功能。但实际上,使用第三方库进行Json操作更为方便。下面介绍两个常用的第三方库。

1. Pandas

Pandas 是一个用于数据操作和分析的Python库。它可以读取和写入各种数据格式,包括Json文件。使用 Pandas 可以方便地将 Json 数据转换成 DataFrame,然后进行各种数据分析。

下面是一个使用 Pandas 读取 users.json 文件的例子:

import pandas as pd

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

print(data)

输出如下:

     users
0   {'id': '10001', 'name': '张三', 'gender': '男'...
1   {'id': '10002', 'name': '李四', 'gender': '女'...
2   {'id': '10003', 'name': '王五', 'gender': '男'...

可以看到,Pandas 将每个 Json 对象转换为 DataFrame 中的一行。

2. Requests

Requests 是一个用于向网站发送 HTTP 请求的Python库。它可以方便地获取网站的 Json 数据,并将其转换成 Python 对象。

下面是一个使用 Requests 获取 Json 数据的例子:

import requests
import json

response = requests.get('https://jsonplaceholder.typicode.com/todos/1')
data = json.loads(response.content)

print(data)

在上例中,我们使用 Requests 向一个网站发送了 HTTP 请求,并获取了一个包含 Json 数据的响应。然后,我们使用 json.loads() 方法将 Json 数据转换成 Python 对象。

结论

Python提供了基础的Json解析模块,以及一些便捷的第三方库来读取和操作Json文件。使用 json 模块可以实现最基本的Json解析操作,而使用 Pandas 和 Requests 等第三方库则可以更方便地进行数据读写和分析。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程