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

如何遍历GCP存储桶不同文件夹中的JSON文件并生成DataFrame

批量读取GCS文件夹下DOCAI JSON文件并合并为DataFrame

以下是实现批量遍历GCS指定文件夹内所有JSON文件、解析并合并为单个DataFrame的代码:

import gcsfs
import json
import pandas as pd

# 初始化GCS文件系统
gcs_file_system = gcsfs.GCSFileSystem(project="your-project-name")

# 指定GCS存储桶下的目标文件夹路径(格式:bucket-name/folder-path/)
gcs_folder_path = "your-bucket-name/docai-export-folder/"

# 获取文件夹下所有JSON文件的路径
json_files = gcs_file_system.glob(f"{gcs_folder_path}*.json")

# 初始化空列表用于存储每个文件的DataFrame
df_list = []

# 遍历所有JSON文件
for file_path in json_files:
    with gcs_file_system.open(file_path) as f:
        json_dict = json.load(f)
    # 解析JSON并提取entities字段数据
    single_df = pd.json_normalize(json_dict, record_path=['entities'])
    # 可选:添加文件名列,方便后续溯源
    single_df['source_file'] = file_path.split("/")[-1]
    df_list.append(single_df)

# 合并所有DataFrame
merged_df = pd.concat(df_list, ignore_index=True)

# 查看合并后的数据
print(merged_df.head())

关键说明:

  • 使用gcsfs.GCSFileSystem.glob()方法匹配目标文件夹下所有.json后缀的文件,实现批量获取文件路径
  • 循环中逐个读取并解析JSON文件,沿用你原有的pd.json_normalize逻辑提取entities字段
  • 通过pd.concat()将多个DataFrame合并为一个,ignore_index=True重置索引避免重复
  • 可选添加source_file列,方便后续验证时定位数据来源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:52:14