首页 > 解决方案 > 使用 python/pandas 从特定文件夹中读取几个嵌套的 .json 文件到 excel 中

问题描述

我想将文件夹中的几个嵌套 json 文件读入一个 excel 文件。由于大多数.json文件彼此不同(每个文件中有不同的嵌套级别),这也意味着excel文件中的某些列(值)显然需要为NaN。使用此代码读取特定文件我没有问题,但需要一段时间才能逐个读取 10 000。

import json 
import pandas as pd 
from pandas.io.json import json_normalize 

with open('file1.json','r') as f: #Here I want help, since i need to read 10 000 json files.
    data = json.loads(f.read())
multiple_level_data = pd.json_normalize(data, record_path =['data'], errors='ignore', meta =['total-count'], meta_prefix='config_params_', record_prefix='dbscan_')
multiple_level_data.to_excel('file1converted.xlsx', index=False)

但是,如何修改我的 python 代码以读取文件夹中的所有 json 文件,而不仅仅是 file1.json?

标签: pythonjsonexcelpandas

解决方案


你可以试试os.listdir()

import os
import json 
import pandas as pd 
from pandas.io.json import json_normalize 

for js in [x for x in os.listdir() if x.endswith('.json')]:
  with open(js,'r') as f: 
    data = json.loads(f.read())
    multiple_level_data = pd.json_normalize(data, record_path =['data'], errors='ignore', meta =['total-count'], meta_prefix='config_params_', record_prefix='dbscan_')
    multiple_level_data.to_excel(js+'converted.xlsx', index=False)

推荐阅读