我試圖加載數據,這是Python 2.7庫 - 針對AWS Redshift表的pg8000查詢的結果。Redshift在表格中插入值
首先我查詢一個Redshift表的結果,它在包含列表中的值的元組內提供它們。
例子:
value_tuple = ([datetime.date(2016, 10, 2), 1, 1, 123123], [datetime.date(2016, 10, 2), 1, 2, 3131312])
我想這些值插入到另一張表,但我遇到了創建插入語句的幾個問題。我願意單獨插入所有的值,但我寧願一次完成所有的值。
我與工作看起來像這樣的表:
| date_column | value_1 | value_2 | value_count |
| 2016-10-01 | 1 | 2 | 300 |
首先我試圖創建所使用的元組
update_query = """insert into my_schema.my_table_to_update
values %s
""" % str(value_tuple[0])
這樣的update_query裏面只是一個單一的列表更新查詢成爲:
'insert into my_schema.my_table_to_update\n values [datetime.date(2016, 10, 2), 1, 1, 123123]\n '
當我運行更新查詢對錶我得到這個錯誤:
pg8000.core.ProgrammingError: (u'ERROR', u'42601', u'syntax error at or near "["', u'70', u'/home/rdsdb/padb/src/pg/src/backend/parser/parser_scan.l', u'699', u'yyerror', u'', u'')
我想這意味着我不能使用結果列表格式插入到表中。
將這些數據插入到Redshift中的功能,最好是有效的方法是什麼?