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

Google Colab批量读取Google Drive中CSV文件并写入BigQuery求助

批量处理Google Drive中CSV文件并追加至BigQuery表

实现步骤及完整代码

要实现批量处理,核心是遍历目标文件夹下的所有CSV文件,循环执行读取和追加操作,以下是适配你需求的完整代码:

from google.colab import drive
import pandas as pd
import glob

# 挂载Google Drive(与原代码保持一致)
drive.mount('/content/drive')

# 指定CSV文件所在的文件夹路径
csv_dir = '/content/drive/MyDrive/Vestiaire_data/july-2022/'

# 获取文件夹下所有CSV文件的完整路径(支持直接匹配后缀)
all_csv_files = glob.glob(f"{csv_dir}*.csv")

# 循环处理每个CSV文件
for csv_file in all_csv_files:
    # 打印当前处理的文件名,方便跟踪进度
    print(f"处理中: {csv_file.split('/')[-1]}")
    
    # 读取CSV,保留原代码的编码和内存设置
    df = pd.read_csv(csv_file, encoding='ISO-8859-1', low_memory=False)
    
    # 追加数据到BigQuery,替换为你的实际项目和表信息
    df.to_gbq(
        destination_table='你的项目ID.数据集名称.表名称',
        project_id='你的项目ID',
        if_exists='append',  # 必须设置为append才会追加数据,而非覆盖
        credentials=None  # Colab环境下默认会使用关联的Google账号权限
    )

print("所有文件处理完成!")

关键说明

  • 文件遍历:用glob.glob直接匹配指定路径下的所有.csv文件,无需手动筛选非CSV文件;如果需要递归处理子文件夹,可改为glob.glob(f"{csv_dir}**/*.csv", recursive=True)
  • 追加模式:to_gbq的if_exists参数必须设为append,否则会覆盖原有表数据
  • 兼容性:确保BigQuery表的字段结构与CSV文件的列完全匹配,否则会抛出字段不兼容的错误
  • 权限:Colab环境下只要挂载Drive时用的账号有BigQuery权限,无需额外配置凭证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:06:29