Я использую пакет RSQLite для успешной записи данных в локальную базу данных SQLite.
Я хочу иметь возможность экспортировать результаты запроса select в Excel. Проблема в том, что класс результирующего набора записей:
>class(rs)
[1] "SQLiteResult"
attr(,"package")
[1] "RSQLite"
, и я не могу экспортировать его в Excel. Сообщение об ошибке, использующее стандартные методы:
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ‘structure("SQLiteResult", package = "RSQLite")’ to a
data.frame
Я пробовал различные поиски в Google и прочитал документацию по RSQLite & SQLite.
Пример кода, который приводит к ошибке 'coerce':
library(RSQLite)
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "mtcars", mtcars)
res <- dbSendQuery(con, "SELECT * FROM mtcars WHERE cyl = 4")
dbFetch(res)
write.csv(res, file = "C:/test.csv")
dbClearResult(res)
dbDisconnect(con)
Документация Sqlite предоставляет только способ экспорта с использованием командной строки или SQLiteStudio. Я хочу добиться этого в своем коде R.
Документ пакета RSQLite предлагает использовать, например:
dbReadTable(con, "mtcars", row.names = FALSE)
Это приводит к ошибке при замене строки dbSendQuery на нее:
Warning message: Expired, result set already closed
Пожалуйста, кто-нибудь может указать, что мне не хватает?
Спасибо!