Я использую Snowflake Connector для извлечения данных из базы данных Snowflake в свой блокнот Python.
У меня есть параметры, хранящиеся отдельно и включаемые в мой запрос, который хранится в виде f-строки.
Я могу извлечь параметры для использования в фильтрах, если они содержат одну переменную:
Код: Выделить всё
myvar = 'foo'
myquery = f"""
SELECT * FROM TABLE1 WHERE VAR1 = '{myvar}'
"""
cursor = sf_connection.cursor()
try:
df= cursor.execute(myquery).fetch_pandas_all()
finally:
cursor.close()
Я хочу сохранить список и использовать его в операторе in в запросе:
Код: Выделить всё
mylist = ['foo','bar']
myquery = f"""
SELECT *
FROM TABLE1
WHERE VAR1 IN '{mylist}'
"""
ТЕКУЩЕЕ РЕШЕНИЕ
Я могу индексировать каждый элемент списка в запросе и его функции:
Код: Выделить всё
mylist = ['foo','bar']
myquery = f"""
SELECT *
FROM TABLE1
WHERE VAR1 IN ('{mylist[0]}', '{mylist[1]}')
"""
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-filter
Мобильная версия