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

如何直接读取Google Drive的CSV文件到R语言并解决读取报错

报错原因

原代码存在两处可直接触发读取失败的错误:

  • 函数名拼写错误:R中用于字符串格式化输出的函数为sprintf(),不存在sprint()函数,运行时会直接抛出"找不到函数sprint"的报错。
  • 导出链接格式错误:代码中拼接的/d/uc?id=路径为Google Drive普通存储文件的下载路径,不适用于Google Sheets在线表格,请求后会返回HTML格式的页面而非CSV格式的表格数据,最终导致read.csv()解析失败、出现大量乱码/报错。
可行读取方案

方案1:Base R 无额外依赖(适合公开权限的小文件)

文件已经开放公开读取权限的前提下,直接使用Google Sheets官方CSV导出规则拼接链接即可直接读取,无需安装任何第三方包:

# 目标表格ID
sheet_id <- "170235QwbmgQvr0GWmT-8yBsC7Vk6p_dmvYxrZNfsKqk"
# 拼接正确的CSV导出地址
csv_export_url <- sprintf("https://docs.google.com/spreadsheets/d/%s/export?format=csv", sheet_id)
# 读取为数据框,可根据文件实际编码调整fileEncoding参数
df <- read.csv(csv_export_url, check.names = FALSE)

补充说明:如果需要读取表格内指定工作表,可在导出链接末尾追加&gid=对应工作表ID参数,工作表ID可从表格网页端URL的gid=字段获取,默认导出第一个工作表。

方案2:专用包读取(稳定性更强,适配复杂场景)

如果遇到网络波动、大文件读取、需要指定读取范围/后续写入表格的场景,推荐使用专门适配Google Sheets的googlesheets4包读取,无需手动拼接链接:

# 首次使用前安装包
install.packages("googlesheets4")
# 加载包
library(googlesheets4)
# 公开访问文件无需账号鉴权,关闭默认鉴权流程
gs4_deauth()
# 直接传入表格ID即可读取,支持指定sheet、range等参数
df <- read_sheet(sheet_id)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:36:29