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

使用R包googledrive加载谷歌云端大XLSX文件时遇错误求助

解决大XLSX文件无法用googlesheets访问及googledrive报错问题

嘿,我来帮你搞定这个棘手的问题!你遇到的 'file' does not identify at least one Drive file 报错,基本是因为调用googledrive时文件定位出错了,再加上大文件没法自动转Google Sheet,咱们一步步来解决:

第一步:先搞定googledrive的报错——找对文件的唯一ID

这个报错大概率是你用文件名或者路径定位文件时出了问题(比如重名、路径层级不对),最靠谱的方式是用文件的唯一ID:

  • 打开谷歌云端硬盘,找到那个大XLSX文件,右键选「获取链接」
  • 链接里像这样:https://drive.google.com/file/d/XXXXXX/view?usp=sharing,把中间的XXXXXX(也就是文件ID)复制下来

第二步:用googledrive下载文件到本地,再用R读取

既然没法转成Google Sheet,那咱们直接把文件下载到本地,用readxl来读取就行,代码如下:

# 先加载需要的包
library(googledrive)
library(readxl)

# 登录谷歌账号(第一次运行会跳浏览器授权,按提示来就行)
drive_auth()

# 用复制的文件ID定位目标文件
target_file <- drive_get(id = "这里替换成你的文件ID")

# 把文件下载到本地工作目录,overwrite=TRUE会覆盖同名文件
drive_download(target_file, path = "local_copy.xlsx", overwrite = TRUE)

# 读取本地的XLSX文件
my_data <- read_excel("local_copy.xlsx")

为什么没法自动转Google Sheet?

谷歌云端硬盘对自动转换的文件有大小限制(不同账户类型上限不一样),超过这个阈值就不会转成Google Sheet,而且没法预览只能下载。这种情况下本地读取是最直接的方案,readxl处理大XLSX的能力很稳,只要你本地内存够就行。

要是本地内存不够怎么办?

如果文件大到本地内存扛不住,试试分块读取,每次只读一部分数据:

# 分块读取指定工作表,chunk_size设成你内存能承受的行数
chunked_data <- read_excel("local_copy.xlsx", sheet = "Sheet1", chunk_size = 10000)

这样每次读10000行,不会一下子占满内存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:58:24