我正在尝试下载存储在Github存储库中的数据库,但我完全堆叠了。 下载的数据库是空的,里面没有表..我试图在临时文件上下载,进行一些操作并删除这个数据库。 可以帮我吗?我尝试了2种方法,但没有使用它们。
第一种方法语法:
# download database
library(RCurl)
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
tmpDB <- getBinaryURL( "https://raw.githubusercontent.com/pbiecek/archivist/master/backpack.db")
tfS <- tempfile()
writeBin( tmpDB, tfS )
file.rename(from = tfS , to= "backpack.db")
tfS <- sub( x = tfS, pattern ="\\\\file.+", replacement="")
# perform local operations on database
...
# delete downloaded database
file.remove( paste0( tfS, "\\backpack.db" ) )
tfS <- NULL
第二种方法语法:
# download database
GitUrl <- "https://raw.githubusercontent.com/pbiecek/archivist/master/backpack.db"
LocDir <- tempfile()
# LocDir <- paste0( LocDir, "\\") mb its not neccesary
download.file( url = GitUrl, destfile = LocDir )
# operations on database
# delete downloaded database
file.remove( paste0( LocDir, "backpack.db" ) )
LocDir <- NULL
感谢您的帮助!
答案 0 :(得分:1)
使用RSQLite
包访问下载的数据库:
myFile <- "https://raw.githubusercontent.com/pbiecek/archivist/master/backpack.db"
library(RCurl)
myData <- getBinaryURL(myFile, ssl.verifypeer = FALSE)
writeBin(myData, 'test.db')
library("RSQLite")
drv <- dbDriver("SQLite")
con <- dbConnect(drv, "test.db")
dbListTables(con)
> dbListTables(con)
[1] "artifact" "tag"
> dbListFields(con, "artifact")
[1] "md5hash" "name" "createdDate"
> dbListFields(con, "tag")
[1] "artifact" "tag" "createdDate"