我是一个试图学习Python的R用户。在R中,我经常使用向量作为参数传递给SQL查询。例如,
ID <- c(1,2,3,4,5)
df <- dbGetQuery(con, paste("select * from table where ID in (", ID, ")")
我如何在Python中实现这一点?我有一个数据帧,希望使用它的一列作为参数。有了这样的数据帧,
data = {'ID': [1,2,3,4,5],
'Value': [10,20,30,40,50]}
df = pd.DataFrame(data)
[编辑]所以基本上我需要一个字符串;从表中选择*,其中ID在(1,2,3,4,5)";除了不是手动键入";1,2,3,4,5";我想使用参数。
OP正在寻找类似的东西
query = f"select * from table where ID in ({','.join(df['ID'].astype(str))})"
有关从list
创建此查询的更多方法,也可以查看@Erfan在评论中提供的这篇文章。