Leer_Drive<-function(link_drive,sep=",",dec=".") {
require(data.table)
id<-strsplit(link_drive,"id=")[[1]][2]
return(fread(sprintf("https://docs.google.com/uc?id=%s&export=download", id),
sep=sep,dec=dec,integer64 = "character"))
}
Parametros: * link_drive: link para compartir que genera google drive (Como obtener el enlace al final de la publicacion) * sep: separador del archivo * dec: separador de decimales
ACLARACION: Solo funciona con archivos de texto plano (TXT, CSV, etc.)
datos<-Leer_Drive("https://drive.google.com/open?id=1mhj0hSUuMefcB612NjtT75SWs71P7QBa",sep=";")
head(datos)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1: 5.1 3.5 1.4 0.2 setosa
## 2: 4.9 3.0 1.4 0.2 setosa
## 3: 4.7 3.2 1.3 0.2 setosa
## 4: 4.6 3.1 1.5 0.2 setosa
## 5: 5.0 3.6 1.4 0.2 setosa
## 6: 5.4 3.9 1.7 0.4 setosa
library(googledrive)
googledrive::drive_auth()
Se abrira lo siguiente en el navegador:
Una vez elegida la cuenta, aparece lo siguiente:
Se oprime “Permitir” y luego se pide una confirmación:
La consola devuelve el siguiente mensaje: “Authentication complete.”
Una vez que me identifique como en el apartado anterior, puedo almacenar mis credenciales para automatizar el proceso.
Utilizando la función “drive_token” genero el token y lo almaceno en un .rds:
googledrive::drive_token()->acceso
saveRDS(acceso,"acceso_go.rds")
La proxima vez que quiera iniciar sensión puedo hacerlo levantando dicho archivo:
drive_auth(token = readRDS("acceso_go.rds"))
drive_ls(path = "Datasets")
## # A tibble: 1 x 3
## name id drive_resource
## * <chr> <chr> <list>
## 1 sub_iris.csv 1mhj0hSUuMefcB612NjtT75SWs71P7QBa <named list [39]>
Primero se debe descargar el archivo:
drive_download("Datasets/sub_iris.csv",overwrite = TRUE)
## File downloaded:
## * sub_iris.csv
## Saved locally as:
## * sub_iris.csv
Y luego proceder a leerlo:
DATOS<-read.table("sub_iris.csv",sep=";",header = TRUE)
head(DATOS)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
Leer_Drive_Privado<-function(ubicacion,sep=",",dec=".") {
require(data.table)
lista_nombre<-strsplit(ubicacion,"/")[[1]]
extension<-paste(sep="",".",
strsplit(lista_nombre[length(lista_nombre)],"\\.")[[1]][2])
tempfile(pattern = "file", tmpdir = tempdir(), fileext = extension)->archivo_temp
googledrive::drive_download(ubicacion,path=archivo_temp,overwrite = TRUE)
return(fread(archivo_temp,
sep=sep,dec=dec,integer64 = "character"))
}
Parametros: * ubicacion: ubicación del archivo en la unidad de drive * sep: separador del archivo * dec: separador de decimales
ACLARACION: Solo funciona con archivos de texto plano (TXT, CSV, etc.)
DATOS<-Leer_Drive_Privado("Datasets/sub_iris.csv",sep=";")
head(DATOS)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1: 5.1 3.5 1.4 0.2 setosa
## 2: 4.9 3.0 1.4 0.2 setosa
## 3: 4.7 3.2 1.3 0.2 setosa
## 4: 4.6 3.1 1.5 0.2 setosa
## 5: 5.0 3.6 1.4 0.2 setosa
## 6: 5.4 3.9 1.7 0.4 setosa