【问题标题】:I am trying to load data into redshift using pandas and sqlalchemy我正在尝试使用 pandas 和 sqlalchemy 将数据加载到 redshift
【发布时间】:2017-12-17 02:21:12
【问题描述】:

当我第一次尝试加载能够创建表并加载到该表中的 pandas 时,第二次它会抛出类似 Relation "mytablename" already exists

之类的错误
df = pd.read_csv("data.csv",sep = "|")
conn = create_engine('redshift+psycopg2://uname:pass@xxxxxxxxx.us-east-
1.redshift.amazonaws.com:5439/db')
df.to_sql("my table name",con = conn,if_exists = "append",index = False)

sqlalchemy.版本 = '1.1.9' pandas.版本 = '0.20.3'

【问题讨论】:

  • 你用的是什么版本的熊猫?
  • pandas.version = '0.20.3'

标签: python python-2.7 python-3.x pandas sqlalchemy


【解决方案1】:

您必须传递 sqlalchemy 引擎而不是连接对象。试试这个,

df = pd.read_csv('data.csv',sep = '|')
conn = create_engine('redshift+psycopg2://uname:pass@xxxxxxxxx.us-east-
1.redshift.amazonaws.com:5439/db')
df.to_sql('my table name', conn, if_exists = 'append',index = False)

如果我做了一个错误的假设,请发表评论,我会重新调整我的答案。

【讨论】:

  • create_engine('redshift+psycopg2://uname:pass@xxxxxxxxx.us-east- 1.redshift.amazonaws.com:5439/db') 只是引擎而不是连接 obj跨度>
  • 哦,是的。我的错。
猜你喜欢
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 2018-05-04
  • 1970-01-01
  • 2016-02-28
相关资源
最近更新 更多