You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将不同文件夹的多份JSON文件转为对应DataFrame并汇总到列表

解决方案

可以用Python的os模块遍历目录,结合pandas处理JSON文件并生成DataFrame,以下是实现代码:

import os
import pandas as pd

root_path = '/in_my_path'
df_list = []

# 遍历根路径下的所有子文件夹
for folder_name in os.listdir(root_path):
    folder_path = os.path.join(root_path, folder_name)
    # 仅处理文件夹类型的条目
    if not os.path.isdir(folder_path):
        continue
    
    json_dfs = []
    # 遍历文件夹内的所有JSON文件
    for file_name in os.listdir(folder_path):
        if file_name.endswith('.json'):
            file_path = os.path.join(folder_path, file_name)
            # 根据JSON格式调整参数:
            # 若文件是每行一个独立JSON对象,添加lines=True;若为单个JSON数组,可省略该参数
            single_df = pd.read_json(file_path, lines=True)
            json_dfs.append(single_df)
    
    # 合并当前文件夹下的所有JSON数据为一个DataFrame
    combined_df = pd.concat(json_dfs, ignore_index=True)
    # 可选:给DataFrame添加来源文件夹标识列
    # combined_df['source_folder'] = folder_name
    df_list.append(combined_df)

代码说明

  • os.listdir(root_path):获取根路径下的所有文件/文件夹名称
  • os.path.isdir(folder_path):过滤掉非文件夹的条目,只处理目标子文件夹
  • file_name.endswith('.json'):仅筛选后缀为.json的文件进行处理
  • pd.read_json:读取单个JSON文件,需根据实际JSON结构调整参数适配不同格式
  • pd.concat:将同文件夹下的所有JSON数据合并为一个DataFrame,ignore_index=True用于重置索引避免重复
  • 最终df_list即为包含所有对应文件夹DataFrame的列表,顺序与文件夹在根路径下的排列顺序一致

内容的提问来源于stack exchange,提问作者LZL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 08:07:06