在Python中有一个列表,在我的代码中使用:
pylist = ['A', 'B', 'C', 'D']
我也有一个简单的spark.sql()
行,我需要执行:
query = spark.sql(
"""
SELECT col1, col2, col3
FROM database.table
WHERE col3 IN ('A', 'B', 'C', 'D')
"""
)
我想用python列表替换spark.sql()
语句中的元素列表,这样SQL中的最后一行就变成了
...
AND col3 IN pylist
我知道使用{}
和str.format
,但我很难理解这是否是正确的选择,以及如何工作。
3条答案
按热度按时间nnsrf1az1#
好的,经过更多的研究,我想我找到了使用
.format(tuple(pylist))
的解决方案现在的声明是:
toe950272#
转换为元组以在转换为字符串时获取“()”而不是“[]”
rsl1atfo3#
你也可以使用f-string和
{tuple(pylist)}
,如下所示:现在的声明是: