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])
私は別のテーブルにこれらの値を挿入したいのですが、INSERT文を作成し、いくつかの問題に実行しています。私はすべての値を個別に挿入することはできますが、むしろすべてを一度に行うことになります。
私はこのようになりますで働いているテーブル:
| 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の内側に1つだけのリストを使用する更新クエリを作成しようとしました
'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にこのデータを挿入するには、機能的な、そして効率的な方法はありますか?