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

在Google Colab R内核中挂载谷歌云盘读取XLSX文件失败求助

在Google Colab R内核中挂载Google Drive并读取XLSX文件的解决方案

推荐方法:使用Colab原生挂载(通过Python调用)

这种方法更稳定,无需折腾R包的认证逻辑,步骤如下:

  • 安装并加载reticulate包,调用Colab的Python挂载工具:
install.packages("reticulate")
library(reticulate)

# 执行Python挂载代码
py_run_string("
from google.colab import drive
drive.mount('/content/drive')
")

执行后会弹出授权窗口,按提示完成账号授权。挂载成功后,你的Google Drive文件会映射到/content/drive/MyDrive/路径下。

  • 安装readxl包并读取目标XLSX文件:
install.packages("readxl")
library(readxl)

# 注意路径需加上MyDrive前缀
df <- read_excel("/content/drive/MyDrive/OptimaTEST/data/data.xlsx")

# 验证读取结果
head(df)

备选方案:修复googledrive包的认证问题

如果坚持使用googledrive包操作,可按以下步骤修复认证错误:

  1. 安装并加载依赖包:
install.packages(c("googledrive", "gargle", "R.utils", "httr"))
library(googledrive)
library(gargle)
library(R.utils)
library(httr)
  1. 强制设置会话为交互式模式(解决Colab R内核被识别为非交互式的问题):
# 重写httr包的交互式检测函数
my_check <- function() {return(TRUE)}
reassignInPackage("is_interactive", pkgName = "httr", my_check)

# 启用rlang交互式选项和gargle的OOB模式
options(rlang_interactive = TRUE)
options(gargle_oob_default = TRUE)
  1. 重新执行认证:
drive_auth(cache = FALSE)

执行后会生成授权链接,复制到浏览器打开,登录Google账号并授权,将得到的验证码复制回Colab输入框完成认证。

  1. 认证成功后,可下载文件到Colab环境再读取:
# 查找目标文件
target_file <- drive_find(path = "OptimaTEST/data/data.xlsx")

# 下载文件到Colab本地
drive_download(target_file, path = "./data.xlsx", overwrite = TRUE)

# 读取文件
df <- read_excel("./data.xlsx")

注意事项

  • 挂载后的Drive路径必须包含MyDrive前缀,这是多数人找不到文件的核心原因。
  • 使用googledrive包时,确保Google账号已授权该应用访问Drive权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:32:47