Python往JSON里追加数据

在实际的数据处理过程中,经常会遇到需要往已有的JSON文件中追加新的数据的情况。Python作为一种简洁而强大的编程语言,提供了多种操作JSON的方法,方便我们实现这一功能。

1. 读取JSON文件

在进行数据追加之前,首先需要读取已有的JSON文件内容。我们可以使用Python的json模块来实现这一功能。下面是一个简单的示例,演示如何读取JSON文件中的数据:

import json

# 读取JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)

print(data)

假设我们有一个名为data.json的JSON文件,内容如下:

{
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

运行上述代码,输出将会是:

{'name': 'Alice', 'age': 25, 'city': 'New York'}

2. 追加数据到JSON文件

接下来,我们将介绍如何往已有的JSON文件中追加新的数据。我们可以先将要追加的数据组织成Python的字典对象,然后将其写入JSON文件中。下面是一个简单的示例:

import json

# 要追加的数据
new_data = {
    "name": "Bob",
    "age": 30,
    "city": "Los Angeles"
}

# 读取已有的JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)

# 追加数据
data.update(new_data)

# 写入JSON文件
with open('data.json', 'w') as file:
    json.dump(data, file, indent=4)

print("Data appended successfully!")

假设我们要追加的数据为new_data,上述代码会将其追加到data.json文件中。运行结果将会是:

Data appended successfully!

此时,data.json文件的内容将会变成:

{
    "name": "Alice",
    "age": 25,
    "city": "New York",
    "name": "Bob",
    "age": 30,
    "city": "Los Angeles"
}

需要注意的是,由于JSON本身的规范,键值对在同一个级别下不能重复,因此在追加数据时,要确保键的唯一性。

3. 追加列表数据到JSON文件

除了追加单个数据外,有时候我们还需要往JSON文件中追加列表数据。下面是一个演示如何追加列表数据的示例:

import json

# 要追加的列表数据
new_list = [
    {
        "name": "Charlie",
        "age": 35,
        "city": "Chicago"
    },
    {
        "name": "David",
        "age": 40,
        "city": "Houston"
    }
]

# 读取已有的JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)

# 追加数据
data["friends"] = new_list

# 写入JSON文件
with open('data.json', 'w') as file:
    json.dump(data, file, indent=4)

print("List data appended successfully!")

假设我们要追加的列表数据为new_list,上述代码会将其作为friends键对应的值追加到data.json文件中。运行结果将会是:

List data appended successfully!

此时,data.json文件的内容将会变成:

{
    "name": "Alice",
    "age": 25,
    "city": "New York",
    "friends": [
        {
            "name": "Charlie",
            "age": 35,
            "city": "Chicago"
        },
        {
            "name": "David",
            "age": 40,
            "city": "Houston"
        }
    ]
}

通过以上示例,我们学会了如何使用Python往JSON文件中追加数据,不论是追加单个数据还是追加列表数据,都能轻松实现。