RPostgreSQL - 将数据帧导入表中

Cha*_*ti 4 r rpostgresql

我想将一个完整的数据框导出到一个已经在数据库(postgresql)中创建并包含类似数据的表中.

我发现几个问题解释有关dbwrite表(.... overwrite = TRUE),我不想覆盖我表中已经存在的数据.我只想用r console中的数据框更新我的表.

谁能让我知道我怎么能这样做..

这样的事情

dbInsertTable(con, df, tablename = "MyTable")
Run Code Online (Sandbox Code Playgroud)

Dea*_*gor 8

你需要 dbWriteTable

假设您没有在数据框中使用行名称

dbWriteTable(con, "MyTable", df, row.names=FALSE, append=TRUE)
Run Code Online (Sandbox Code Playgroud)

如果您希望df中的行名称是数据库表中的列,那么您可以将该选项设置为TRUE.如果您的表所在的模式不是公共模式,那么您将c('myschema', 'MyTable')使用直观的"myschema.MyTable".此外,数据框的列需要与数据库表中的列的顺序相同.它根据订单而不是名称进行匹配.

顺便说一下,你可能不应该在postgres表或列名中使用大写字母,因为那时你需要引用它们.如果你真的使用大写字母,那么你需要类似的东西dbWriteTable(con, '"MyTable"', df, row.names=FALSE, append=TRUE)