如何创建一个由双引号和逗号分隔的单词的字符串

问题描述 投票:0回答:1

在数据框中,我有一列包含名称的列。我想将这些名称转换为字符串,以作为 sql 查询中的变量传递。 我需要用“,”分隔名称。例如“a”,“b”,“c”,“d”。

df <- data.frame(names=c("a","b","c","d"))

我得到的最好的是

df2 <- paste0('"',paste0(df$names,collapse=',"','"'))
cat(df2)
"a","b","c","d"> 

但是最后有这个“>”。

那么,是否可以从 df$names 中获取“a”,“b”,“c”,“d”?

SQL 查询类似于

sql.query <- paste0("
    SELECT field1,field2
    FROM mytable
    WHERE field1 IN (",df2,");
    ")  
    

谢谢

r string
1个回答
0
投票

要去掉末尾的>,你可以尝试这个:

df <- data.frame(names = c("a","b","c","d"))
df2 <- paste0('"', paste(df$names, collapse = '","'), '"')
cat(df2)

这给出了“a”,“b”,“c”,“d”

现在你可以像这样使用 df2 了:

sql.query <- paste0("
    SELECT field1, field2
    FROM mytable
    WHERE field1 IN (", df2, ");
")

cat(sql.query)
© www.soinside.com 2019 - 2024. All rights reserved.