我有一个python
脚本,它使用postgresql
以编程方式将数据从平面文件加载到Redshift
/ psycopg2
数据库中。
脚本试图将一个列名变量传递给copy命令,如下所示:
COPY FROM 's3://....' TO table_name (column_names);
列名在列表中:
['A', 'B', 'C']
当我将该列表作为变量传递给数据库查询时,该命令被评估为:
COPY FROM 's3://....' TO table_name ['A', 'B', 'C'];
数据库命令需要
COPY FROM 's3://....' TO table_name (A, B, C);
我想我需要一个列表,剥离括号并传递为字符串?我可以将其作为for loop
并正确格式化字符串。
有没有办法将列表格式化为(A,B,C)?
答案 0 :(得分:1)
这可以通过字符串操作轻松完成。
"(" + ", ".join(column_names) + ")"