У меня проблема при попытке вставить значения формата даты из R studio в базу данных SQLite.
Стоит отметить, что я загружаю файлы dbf в R studio, а затем отправляю данные из файлов dbf в базу данных SQLite.
Вот код, который я использовал. Существует два цикла чтения всех файлов dbf в указанном рабочем каталоге.
library(sqldf)
library(DBI)
library(foreign)
library("RSQLite")
setwd("F:~/Data")
con <- dbConnect(RSQLite::SQLite(), dbname = "bbbb.db")
for(path in c("F:~/data1"
"F:~/data2")){
setwd(path)
ldf <- list() # creates a list
listdbf <- dir(pattern = "*.DBF")
for (k in 1:length(listdbf)){
ldf[[k]] <- read.dbf(listdbf[k])
}
df1 <- ldf[[1]]
df2 <- ldf[[2]]
data1 <- sqldf("select a.date, a.REGN as regn,
sum(case when b.C1='000' then b.C3 else 0 end) as tot_cap,
from df1 a
inner join df2 b on (a.regn = b.regn)
group by a.regn, a.dt
order by a.regn")
dbWriteTable(con, name="capital", value=data1, append= TRUE)
}
В результате формат переменных даты в базе данных SQLite равен «18140» вместо «2019-10-01».
Я попытался изменить формат даты в таблице df1 в R studio с помощью кода
df1$date <- as.Date(as.POSIXct(df1$DT, format='%d.%m.YY'))
И это только один код среди многих других версий, которые я пытался изменить в формате даты.
Но я потерпел неудачу.
Есть какие-нибудь идеи по решению этой проблемы?
Заранее спасибо.