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

时间:2012-03-21 10:27:39

标签: sqlite r

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

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

2 个答案:

答案 0 :(得分:26)

您可以使用RSQLite包。

将整个数据存储在data.frame s:

中的一些示例代码
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=""))
}

答案 1 :(得分:2)

对于本文中遇到的其他任何人,使用purr库从顶部回答循环的一种好方法是:

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

也意味着您不必这样做:

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