개발하자
주피터 SQL 셀의 Python 변수
Cuire
2023. 3. 17. 19:04
반응형
주피터 SQL 셀의 Python 변수
쿼리의 결과 집합과 결합해야 하는 데이터 프레임이 있습니다. 쿼리는 데이터 프레임의 열을 사용하여 데이터베이스의 데이터를 필터링합니다.
data_list = list(df['needed_column'])
Jupyter sql cell에서 실행되는 sql 쿼리에서 변수를 사용하고 싶습니다.
%%sql
SELECT
column_1,
column_2,
column_3
FROM my_database.my_table
WHERE
column_1 IN data_list
이것을 할 수 있는 방법이 있나요?
Jupysql을 통해 할 수 있습니다. 로컬 변수를 가져와서 사용하는 간단한 예가 있습니다.
그래서 기본적으로:
dynamic_limit = 5
dynamic_column = "island, sex"
%sql SELECT {{dynamic_column}} FROM penguins.csv LIMIT {{dynamic_limit}}
해결 방법은 쿼리를 변수로 인라인으로 실행하는 것입니다.
data_list = str(list(df['needed_column']).replace('[', '(').replace(']', ')')
query_string = f"""
SELECT
column_1,
column_2,
column_3
FROM my_database.my_table
WHERE
column_1 IN {data_list}
"""
result_set = %sql $query_string
반응형