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

如何在Colab中用Python无需挂载直接打开Google共享盘最新修改文件

不挂载Google Drive读取共享盘最新修改文件实现方案

你可以通过Google Drive API直接调取共享盘文件,无需挂载到Colab运行环境,实现步骤如下:

1. 前置依赖安装与API授权

首先运行以下代码完成身份验证和依赖准备:

!pip install -q google-api-python-client google-auth-httplib2 google-auth-oauthlib pandas openpyxl
from google.colab import auth
from googleapiclient.discovery import build
from googleapiclient.http import MediaIoBaseDownload
import io
import pandas as pd

# 账号授权
auth.authenticate_user()
drive_service = build('drive', 'v3')

2. 获取目标共享文件夹ID

打开你要读取的共享文件夹(对应你原代码里的/content/gdrive/MyDrive/gdrive/DMS - Finance Data Pack/Chennai/DMS Cakare/CustomerMaster/asterik/asterik路径),浏览器地址栏中https://drive.google.com/drive/folders/后面的字符串就是该文件夹的ID,替换后续代码中的你的目标文件夹ID即可。

3. 读取最新修改的Excel文件

运行以下代码自动筛选最新修改的文件并读取为DataFrame,和你原有业务逻辑完全兼容:

# 替换为你的目标共享文件夹ID
FOLDER_ID = "你的目标文件夹ID"

# 查询文件夹下所有未删除的文件,按修改时间倒序排列
results = drive_service.files().list(
    q=f"'{FOLDER_ID}' in parents and trashed=false",
    fields="files(id, name, modifiedTime)",
    orderBy="modifiedTime desc"
).execute()
files = results.get('files', [])

if not files:
    print("目标文件夹下无可用文件")
else:
    # 取排序第一位的文件即为最新修改的文件
    latest_file = files[0]
    print(f"读取最新文件:{latest_file['name']},修改时间:{latest_file['modifiedTime']}")

    # 直接下载文件到内存,无需写入本地磁盘
    request = drive_service.files().get_media(fileId=latest_file['id'])
    file_content = io.BytesIO()
    downloader = MediaIoBaseDownload(file_content, request)
    done = False
    while done is False:
        status, done = downloader.next_chunk()

    # 读取内存文件为DataFrame
    file_content.seek(0)
    dfck = pd.read_excel(file_content)

嵌套文件夹处理说明

如果你的目标文件所在文件夹是多层嵌套的共享文件夹,只需要逐层获取每一级文件夹的ID,按上述逻辑查询到下一级文件夹ID后,替换FOLDER_ID继续查询即可,无需额外配置权限(只要你当前登录的Google账号有权限访问该共享文件夹即可正常读取)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 10:24:04