将带有扩展名.sqlite的FIles导入到R中

psy*_*dia 14 sqlite r

我从Scraperwiki导出了一个SQLite数据库(作为sqlite格式3文件?),带有.sqlite文件扩展名/文件后缀.

如何将其导入R,可能将原始数据库表映射到单独的数据框?

sgi*_*ibb 30

您可以使用RSQLite包.

一些示例代码将整个数据存储在data.frames中:

library("RSQLite")

## connect to db
con <- dbConnect(drv=RSQLite::SQLite(), dbname="YOURSQLITEFILE")

## list all tables
tables <- dbListTables(con)

## exclude sqlite_sequence (contains table information)
tables <- tables[tables != "sqlite_sequence"]

lDataFrames <- vector("list", length=length(tables))

## create a data.frame for each table
for (i in seq(along=tables)) {
  lDataFrames[[i]] <- dbGetQuery(conn=con, statement=paste("SELECT * FROM '", tables[[i]], "'", sep=""))
}
Run Code Online (Sandbox Code Playgroud)


小智 5

对于遇到这篇文章的任何其他人,使用 purr 库从最佳答案开始循环的一个好方法是:

lDataFrames <- map(tables, ~{
  dbGetQuery(conn=con, statement=paste("SELECT * FROM '", .x, "'", sep=""))
})
Run Code Online (Sandbox Code Playgroud)

也意味着您不必执行以下操作:

lDataFrames <- vector("list", length=length(tables))
Run Code Online (Sandbox Code Playgroud)