如何使用 R 将多个 csv 文件上传到 SQL 服务器数据库

How to upload multiple csv files to a SQL server Database using R

我的计算机中有一个文件夹,其中包含 50 多个不同的 csv 文件,名称不同,变量数量也不同。我必须将它们上传到 SQL 服务器,而不是一个一个地上传它们,我想问一下如何在保持原始名称的同时批量上传它们。我已经尝试创建一个列表 csv <- dir(pattern = "csv"),然后使用 RIO::export_list 函数,但还没有弄清楚如何将它与 DBI::dbWriteTable 一起使用。如果过去有人处理过这个问题可以帮助我,我将不胜感激。

像@r2evans 一样,我使用 DBI 而不是 dbplyr(我经常一起使用这两个包)。

下面是我使用的自定义函数的简化版本。你可以找到完整版 here.

copy_r_to_sql <- function(db_connection, db, schema, sql_table_name, r_table_name) {

  suppressMessages( # mutes translation message
    DBI::dbWriteTable(
      db_connection,
      DBI::Id(
        catalog = db,
        schema = schema,
        table = sql_table_name
      ),
      r_table_name
    )
  )
}

要上传多个表,循环遍历它们或apply