【发布时间】:2016-05-06 21:18:03
【问题描述】:
我从数据库中获取表的名称,我想从每个表中选择所有数据并自动创建一个数据框。代码
nm = dbListTables(connection)
创建一个像这样的向量:
[1] "Account" "Credit__Amortization_Payment__c"
[3] "Credit__Amortization_Schedule__c" "Credit__Loan_Payment__c"
[5] "Credit__Loan__c"
举个例子,
nm = c("Account", "Credit__Amortization_Payment__c", "Credit__Amortization_Schedule__c", "Credit__Loan_Payment__c", "Credit__Loan__c")
我为循环中的每个值创建一个查询列表:
qry <- list()
for (i in 1:length(nm)) {
qry[i] <- paste0("select * from ", nm[i])
}
然后我不知道如何将数据框的名称保存为向量中的值,所以我必须像这样手动输入它,但我想循环通过它来保存数据框具有与列表 nm 完全相同的名称和结构。
q = paste0(qry[1])
rs <- dbSendQuery(con, q)
Account <- dbFetch(rs, n=-1)
我在这里手动为向量中的每个值重复此操作,但我想根据 nm = dbListTables(connection) 中的值自动执行此操作
q = paste0(qry[3])
rs <- dbSendQuery(con, q)
Credit__Amortization_Schedule__c <- dbFetch(rs, n=-1)
【问题讨论】:
-
我希望将数据框命名为 nm[i] nm[1] = Account, nm[3] = Credit__Amortization_Schedule__c
-
看看
?setNames