I have a SQLite database exported (as a sqlite format 3 file?) from Scraperwiki with the .sqlite file extension/file suffix.
How do I import it into R, presumably mapping the original database tables into separate data frames?
Open a command prompt (cmd.exe) and 'cd' to the folder location of the SQL_SAFI. sqlite database file. run the command 'sqlite3' This should open the SQLite shell and present a screen similar to that below.
RSQLite: SQLite Interface for R Embeds the SQLite database engine in R and provides an interface compliant with the DBI package. The source for the SQLite engine and for various extensions in a recent version is included.
You could use the RSQLite package.
Some example code to store the whole data in 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="")) }
To anyone else that comes across this post, a nice way to do the loop from the top answer using the purr library is:
lDataFrames <- map(tables, ~{ dbGetQuery(conn=con, statement=paste("SELECT * FROM '", .x, "'", sep="")) })
Also means you don't have to do:
lDataFrames <- vector("list", length=length(tables))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With