Вы можете использовать read.csv.sql
в пакете sqldf
. Это только одна строка кода для чтения. Предполагая, что вы хотите создать новую базу данных, testdb, а затем прочитать в нее файл, попробуйте следующее:
# create a test file
write.table(iris, "iris.csv", sep = ",", quote = FALSE, row.names = FALSE)
# create an empty database.
# can skip this step if database already exists.
sqldf("attach testingdb as new")
# or: cat(file = "testingdb")
# read into table called iris in the testingdb sqlite database
library(sqldf)
read.csv.sql("iris.csv", sql = "create table main.iris as select * from file",
dbname = "testingdb")
# look at first three lines
sqldf("select * from main.iris limit 3", dbname = "testingdb")
Выше используется sqldf, который использует RSQLite. Вы также можете использовать RSQLite напрямую. См. ?dbWriteTable
в RSQLite. Обратите внимание, что могут возникнуть проблемы с окончанием строки, если вы сделаете это непосредственно с dbWriteTable
, с которым sqldf
будет автоматически обрабатывать (обычно).
Если вы намеревались прочитать файл в R сразу после считывания его в базу данных, и вам не нужна база данных после этого, тогда смотрите:
http://code.google.com/p/sqldf/#Example_13._read.csv.sql_and_read.csv2.sql