如何将Google Drive中的.doc文件直接导入R语言?
解决从Google Drive文档导入R代码到R的方法
你之前用read.csv无效是因为Google Drive的doc文档并非CSV格式,直接转CSV导出的方式不适合存储R代码的文档。以下是几种可行的导入方法:
方法1:直接读取文档文本并执行代码
借助httr和rvest包抓取文档纯文本内容,解析后执行代码:
- 安装并加载依赖包:
install.packages(c("httr", "rvest")) library(httr) library(rvest)
- 获取内容并生成数据框:
# 提取Google Drive文档ID(来自你的链接) doc_id <- "16hMJxXY7zlFp0XuV3H-mb8YOkrTVK386DA_IAvMLKUs" # 构造纯文本导出链接 url <- paste0("https://docs.google.com/document/d/", doc_id, "/export?format=txt") # 获取文档文本内容 text_content <- GET(url) %>% content("text", encoding = "UTF-8") # 执行代码生成数据框 my_data <- eval(parse(text = text_content)) # 验证结果 head(my_data)
方法2:转存为R脚本后本地加载
- 打开Google Drive目标文档,点击「文件」→「下载」→「R脚本(.R)」,将文件保存到本地。
- 在R中通过
source()加载:
source("本地文件路径/你的脚本文件名.R") # 数据框已加载到环境中,直接调用即可 head(my_data)
方法3:用googledrive包云端读取(需授权)
全程在R中操作无需下载文件,需借助googledrive包完成授权读取:
- 安装并加载包:
install.packages("googledrive") library(googledrive)
- 授权登录Google账号(首次运行将跳转浏览器完成授权):
drive_auth()
- 读取文档并执行代码:
# 通过文档ID定位文件 doc_file <- drive_get(id = "16hMJxXY7zlFp0XuV3H-mb8YOkrTVK386DA_IAvMLKUs") # 导出为临时文本文件 temp_file <- tempfile(fileext = ".txt") drive_download(doc_file, path = temp_file, type = "txt") # 读取并执行代码 text_content <- readLines(temp_file) my_data <- eval(parse(text = text_content)) # 验证结果 head(my_data)
内容的提问来源于stack exchange,提问作者J.K Kim
相关产品推荐
相关产品推荐

