我有很多桌子要保存到AWS RDS中的MariaDb。我可以手动保存表格。但是我想创建一个循环来做,我无法弄清楚dbWriteTable命令的语法。 库(RMySQL)
dbWriteTable(con, "Account" , Account, overwrite = T)
dbWriteTable(con, "Campaign", Campaign, overwrite = T)
dbWriteTable(con, "Contact" , Contact, overwrite = T)
dbWriteTable(con, "User", User, overwrite =T)
相反,我想循环播放。
nm = c("Account", "Campaign", "Contact", "User")
for (i in 1:length(nm)) {
dbWriteTable(con, nm[i], paste(nm[i]), overwrite = TRUE)
}
答案 0 :(得分:3)
根据上述评论,使用get0
代替paste
就可以了:
nm = c("Account", "Campaign", "Contact", "User")
for (i in 1:length(nm)) {
dbWriteTable(con, nm[i], get0(nm[i]), overwrite = TRUE)
}
答案 1 :(得分:0)
请改为尝试:
for (i in nm){
dbWriteTable(con, i, paste(i), overwrite = TRUE)
}
您不需要使用括号从原始列表中提取i,因为i直接表示列表中的该对象。基本上你是在为nm中的每个实例说,写入名为i的db表(它将是列表中的一个单词)并粘贴i的值作为名称。