📜  python 加载具有多个 json 的文件 - Python (1)

📅  最后修改于: 2023-12-03 15:19:08.028000             🧑  作者: Mango

Python 加载具有多个 JSON 的文件

在 Python 中,可以使用 json 模块来加载和解析 JSON 格式的数据。但是,如果要加载多个 JSON 文件,可以使用以下几种方法。

方法一:使用 for 循环

该方法基于使用 for 循环遍历所有 JSON 文件,将它们加载到一个列表中。

import json
import os

json_files = ['data1.json', 'data2.json', 'data3.json']
data = []
for file in json_files:
    with open(file, 'r') as f:
        json_data = json.load(f)
        data.append(json_data)

该代码首先定义了一个 JSON 文件列表 json_files,然后对于该列表中的每个文件,使用 with open 语句打开文件并使用 json.load 函数加载 JSON 数据。 最后,将数据添加到一个列表中。

方法二:使用 glob 模块

另一种方法是使用 glob 模块来查找所有的 JSON 文件。 glob 模块可以根据指定的模式匹配文件,返回所有匹配的文件名列表。

import json
import glob

json_files = glob.glob('data*.json')
data = []
for file in json_files:
    with open(file, 'r') as f:
        json_data = json.load(f)
        data.append(json_data)

该代码使用 glob.glob 函数查找所有文件名以 data 开头并以 .json 结尾的文件。然后对于该列表中的每个文件,使用 with open 语句打开文件并使用 json.load 函数加载 JSON 数据。 最后,将数据添加到一个列表中。

方法三:使用 os.listdir 函数

使用 os.listdir 函数可以列出指定目录中的所有文件并返回文件名列表。然后使用字符串方法来筛选出所有以 .json 结尾的文件。

import json
import os

json_files = [f for f in os.listdir('.') if f.endswith('.json')]
data = []
for file in json_files:
    with open(file, 'r') as f:
        json_data = json.load(f)
        data.append(json_data)

该代码使用列表推导来获取当前目录中所有 JSON 文件名,并使用 with open 语句打开文件并使用 json.load 函数加载 JSON 数据。 最后,将数据添加到一个列表中。

现在,您已经了解了三种方法,可以方便地加载多个 JSON 文件。使用其中的任何一个方法,您可以轻松地将多个 JSON 文件加载到 Python 中。