【问题标题】:Importing a pandas dataframe into Teradata database将 pandas 数据框导入 Teradata 数据库
【发布时间】:2019-03-21 17:25:31
【问题描述】:

我正在尝试使用 SQLAlchemy 和 pandas 将 Excel 文件导入 Teradata 数据库中的新表。

我正在使用 pandas to_sql 函数。我用 pandas 加载 Excel 文件并将其保存为名为 df 的数据框。然后我使用 df.to_sql 并将其加载到 Teradata 数据库中。

使用代码时: df.to_sql('rt_test4', con=td_engine, schema='db_sandbox')

我收到错误提示: DatabaseError: (teradata.api.DatabaseError) (3534, '[42S11] [Teradata][ODBC Teradata Driver][Teradata Database] Another index already exists, using the same columns and the same ordering. ') [SQL: 'CREATE INDEX ix_db_sandbox_rt_test4_index ("index") ON db_sandbox.rt_test4']

当我尝试此操作并使用 Teradata SQL 助手查看表是否存在时,系统会提示我为每个列名选择 txt 或 unicode,并选择一个文件夹目录。弹出一个标题为 LOB 信息的提示,我必须选择它是 UTF 还是 unicode,以及一个文件目录。然后它加载并填充所有列标题,但它们保留为空字段。在这里寻找一些方向,我觉得我一直在旋转我的轮子。

【问题讨论】:

    标签: python pandas sqlalchemy teradata


    【解决方案1】:

    我解决了!虽然我不知道为什么,但我希望有人能解释一下:

    tf.to_sql('rt_test4', con=td_engine, schema='db_sandbox', index = False, dtype= {'A': CHAR, 'B':Integer})

    【讨论】:

      猜你喜欢
      • 2016-06-17
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 2014-05-09
      • 2012-12-11
      • 2019-01-05
      • 2013-06-02
      • 1970-01-01
      相关资源
      最近更新 更多