Я пытаюсь вставить данные в базу данных sqlite
из R data.frame
, но мне это не удалось.
Вот код в R studio, который я использовал.
Итак, есть два цикла, с помощью которых я пытаюсь загрузить все файлы dbf
, перечисленные в указанных папках (рабочий каталог). А то пытаюсь вставить данные из R data.frame
(df[[1]]
) в базу sqlite
(уже создал) sqldf
или dbExecute
функциями.
В случае dbExecute
функция не может прочитать таблицу из R data.frame
(в данном случае df[[1]]
).
В случае sqldf
функция не видит all_banks
таблицу, созданную ранее в базе данных.
Любые идеи о том, как справиться с этой проблемой? Спасибо всем.
library(sqldf)
library(DBI)
library(foreign)
library("RSQLite")
setwd("F:~/Data")
con <- dbConnect(RSQLite::SQLite(), dbname = "banks.db")
for(path in c("F:~/123-20190901",
"F:~/123-20190801")){
setwd(path)
ldf <- list()
listdbf <- dir(pattern = "*.DBF")
for (k in 1:length(listdbf)){
ldf[[k]] <- read.dbf(listdbf[k])
}
df1 <- ldf[[1]]
df2 <- ldf[[2]]
dbExecute(con, "insert into all_banks select DT, REGN, name_b from df1")
sqldf("insert into all_banks select DT, REGN, name_b from df1")
}
dbDisconnect(con)
Error: no such table: df1
Error: no such table: all_banks