将没有括号的Python列表值中的值传递给变量

时间:2015-07-23 01:59:24

标签: python postgresql amazon-redshift

我有一个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)?

1 个答案:

答案 0 :(得分:1)

这可以通过字符串操作轻松完成。

"(" + ", ".join(column_names) + ")"