[英]Databricks pass Python parameters into a looped SQL script multiple times
我正在嘗試創建一個包含多個變量的 python 列表,然后這些變量將用作 for 循環中的值,該循環通過創建多個表的 sql 查詢進行循環,但我似乎找不到一個顯示多個使用的參數的示例次。
list = ["a","b","c"]
for x in list:
sql = '''
create volatile table test_{} as (
select * from database.tablename_{}
) with data on commit preserve rows;
create volatile table test2_{} as (
select * from database.tablename2_{}
) with data on commit preserve rows;
'''
display(sql)
您可以使用所謂的f 字符串(自 Python 3.6 起)將相同的變量插入多個位置:
list = ["a","b","c"]
for x in list:
sql = f'''
create volatile table test_{x} as (
select * from database.tablename_{x}
) with data on commit preserve rows;
create volatile table test2_{x} as (
select * from database.tablename2_{x}
) with data on commit preserve rows;
'''
print(sql)
或者您可以使用帶編號占位符的format
list = ["a","b","c"]
for x in list:
sql = '''
create volatile table test_{0} as (
select * from database.tablename_{0}
) with data on commit preserve rows;
create volatile table test2_{0} as (
select * from database.tablename2_{0}
) with data on commit preserve rows;
'''.format(x)
print(sql)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.