0

我正在尝试SQL从一组data.frames in创建一个数据库R。这些data.frames 具有相同的行名但不同的列。因此,在SQL数据库中,我希望它们都在同一个表中,其中data.frame1 和 n1 列将填充此SQL表中的 1:n1 列,data.frame2 和 n2 列将填充 (n1+1):n2 列在此SQL表中,并且很快。

为了将第一个data.framedf1下面)写入SQL数据库表,我的代码是:

library(sqldf)
setwd(db_path)
db <- dbConnect(SQLite(), dbname=db_name)
dbWriteTable(db, table_id, as.data.frame(df1))

wheredb_path是 SQL 数据库的路径,db_name是名称,table_id是表的名称,df1是第一个data.frame.

显然,我可以将cbind这些data.framesdbWriteTable组合起来data.frame。或者,对于每一个data.frame我想添加使用dbGetQuery来获取table_idcbinddata.frame的,然后将其写回db. 但是,我data.frame的 s 非常大,因此我想知道是否有任何操作可以避免在将它们写入db. 换句话说,是否存在将 new直接SQL附加到 s 的操作?data.frametable_id

4

0 回答 0