首页 > 解决方案 > 如何在文件夹结构中读取多个 json 文件?

问题描述

我正在尝试在 json 文件中读取机器学习的训练数据,但它们存储在嵌套文件夹中。

在此处输入图像描述

我想知道如何将每个 json 文件读入 pandas 框架。

标签: pythonjsonpandas

解决方案


想象一下 data 文件夹下的嵌套文件夹中有三个 JSON 文件。

$ tree data
data
├── date1
│   ├── date2
│   │   └── file1_date2.json
│   └── file1.json
└── file1.json

glob2 模块可用于递归获取 JSON 文件。glob 返回文件列表

from glob2 import glob
jsonFiles = glob('data/**/*.json') #Can be used absolute or relative paths
print(jsonFiles)
['data/file1.json',  'data/date1/file1.json',  'data/date1/date2/file1_date2.json']

禁止通过遍历列表jsonFiles将 JSON 文件加载到数据框中。

dfList = []
for jsonFile in jsonFiles:
    df = pd.read_json(jsonFile)
    dfList.append(df)
    
dfTrainingDF = pd.concat(dfList, axis=0)

推荐阅读