我想在R中读取谷歌驱动器中的数据集 screenshot表示。
无论
url <- "https://drive.google.com/file/d/1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0"
temp <- tempfile()
download.file(url, temp)
bank <- read.table(unz(temp, "bank-additional.csv"))
unlink(temp)
,也不
library(RCurl)
bank_url <- dowload.file(url, "bank-additional.csv", method = 'curl')
作品。
我一直在研究这个问题好几个小时。任何提示或解决方案都会非常感激。
答案 0 :(得分:6)
尝试
temp <- tempfile(fileext = ".zip")
download.file("https://drive.google.com/uc?authuser=0&id=1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0&export=download",
temp)
out <- unzip(temp, exdir = tempdir())
bank <- read.csv(out[14], sep = ";")
str(bank)
# 'data.frame': 4119 obs. of 21 variables:
# $ age : int 30 39 25 38 47 32 32 41 31 35 ...
# $ job : Factor w/ 12 levels "admin.","blue-collar",..: 2 8 8 8 1 8 1 3 8 2 ...
# $ marital : Factor w/ 4 levels "divorced","married",..: 2 3 2 2 2 3 3 2 1 2 ...
# <snip>
网址应与您用浏览器下载文件的网址相对应。
正如@ Mako212指出的那样,你也可以使用googledrive
包,用drive_download
代替download.file
:
library(googledrive)
temp <- tempfile(fileext = ".zip")
dl <- drive_download(
as_id("1AiZda_1-2nwrxI8fLD0Y6e5rTg7aocv0"), path = temp, overwrite = TRUE)
out <- unzip(temp, exdir = tempdir())
bank <- read.csv(out[14], sep = ";")
答案 1 :(得分:0)
Google驱动器共享链接不是直接文件链接,因此1. download.file
2. RCurl
first method in accepted answer
仅下载显示文件的网页,而不下载文件本身。您可以编辑下载的文件,然后查看它是html文件。
您可以使用this找出到文件的实际直接链接。通过直接链接,所有常规下载方法都可以使用。
有关获取直接链接或下载链接的非常详细的讨论,请参见this question。
Google驱动器api要求客户端登录,因此googledrive软件包还会要求您登录google(如果尚未登录)。