首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Python进行redshift mysql迁移

使用Python进行redshift mysql迁移
EN

Stack Overflow用户
提问于 2018-06-29 19:49:04
回答 1查看 301关注 0票数 1

您好,我正在使用以下脚本将数据从mysql迁移到redshift。

代码语言:javascript
复制
mysql_table_name = 'clabDevelopment.KPI_kpireport'
mysql_cur = mysql_conn.cursor()
mysql_cur.execute('select * from %s where Date = "2018-01-01";' % mysql_table_name  )
description = mysql_cur.description
rows = mysql_cur.fetchall()

# Insert data into Redshift
redshift_table_name = 'kpi_kpireport'
redshift_cur = redshift_conn.cursor()
insert_template = 'insert into %s (%s) values %s;'
column_names = ', '.join([x[0] for x in description])
values = ', '.join(['(' + ','.join(map(str, x)) + ')' for x in rows])

redshift_cur.execute(insert_template % (redshift_table_name, column_names, values))

我遇到的邮件问题是当值为空时:

代码语言:javascript
复制
values (241325,2018-01-01,None,,CHG,USA,N.

就像在None和CHG之间有一个“,”,它会导致程序失败。

下面是错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\trackstarz\migration.py", line 20, in <module>
    redshift_cur.execute(insert_template % (redshift_table_name, column_names, values))
psycopg2.ProgrammingError: syntax error at or near ","
LINE 1: ...re_Costs, FBA_Fee) values (241325,2018-01-01,None,,CHG,USA,N...
                                                             ^

[Finished in 2.0s]
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51101082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档