Вы можете использовать join
, чтобы построить разделенную запятыми строку имен столбцов с разделителями, а затем отформатировать ее в своем выражении SQL:
>>> column_names = ["first_name", "last_name", "email"] # sample data
>>> column_string = ",".join(f"[{x}]" for x in column_names)
>>> column_string
'[first_name],[last_name],[email]'
>>> sql = f"SELECT {column_string} FROM [tablename] WHERE ..."
>>> sql
'SELECT [first_name],[last_name],[email] FROM [tablename] WHERE ...'
... или, чтобы быть еще более надежным, если имя столбца может содержать правую квадратную скобку:
>>> column_names = ["start time", "duration [minutes]"]
>>> column_string = ",".join(f"[{x.replace(']',']]')}]" for x in column_names)
>>> column_string
'[start time],[duration [minutes]]]'