首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历数据并执行SQL查询。

循环遍历数据并执行SQL查询。
EN

Stack Overflow用户
提问于 2018-05-14 13:03:32
回答 2查看 627关注 0票数 0

我有一个dataframe,它在每一行中都有6行SQL查询。我希望执行每个查询,并将输出分配给dataframe。目前,我有6行代码如下:

df6 <- tbl(conn,sql(df[6,])),我是否可以使用dplyr变异函数在一个语句中循环并分配相同的语句?我尝试了如下:

代码语言:javascript
复制
i <- 1:nrow(df)
df %>% mutate(paste0('df',i) <- tbl(conn,sql(df[i,])))

这会引发以下错误:

错误:列q1必须是一维原子向量或列表。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2018-05-14 14:22:51

您的问题似乎有点不清楚,但假设您有一个名为“sql_code”的列的dataframe,您可以只对该列中的每个元素应用一个函数。

代码语言:javascript
复制
lapply(df$sql_code, function(x) tbl(conn, sql(x)))

最后,您将得到一个可以与bind_cols()放在一起的列表(如果数据帧具有相同的维度)。

票数 1
EN

Stack Overflow用户

发布于 2018-05-15 08:51:10

在Shinobi_Atobe函数的帮助下,我可以将它发展成我想要的,如下所示:

代码语言:javascript
复制
list2env(setNames(lapply(df$sql_query,function(x) {tbl(conn, sql(x))}), paste0('df', 1:nrow(df))), envir=.GlobalEnv)

它从dataframe的每一行执行sql查询,并将输出存储在名为df1、df2.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50331038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档