Python列表到PostgreSQL数组


问题内容

我有一个清单:

[u'ABC', u'DEF', u'GHI']

我必须将其插入到postgresql数组中:(ALTER TABLE "aTable" ADD COLUMN "Test" text[];

将数据添加到postgresql的语法是:

update "aTable" SET "Test" = '{"ABC", "DEF", "GHI"}'

如何将列表转换为正确的格式?


问题答案:
list = [u'ABC', u'DEF', u'GHI']
list = str(map(str, list))

list = list.replace('[', '{').replace(']', '}').replace('\'', '\"')

query = '''update "aTable" SET "Test" = '%s\'''' %(list)
print query

会导致

update "aTable" SET "Test" = '{"ABC", "DEF", "GHI"}'