首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HDBCLI / DBAPI将Pandas数据帧上传到HANA数据库

使用HDBCLI / DBAPI将Pandas数据帧上传到HANA数据库
EN

Stack Overflow用户
提问于 2021-04-20 00:44:02
回答 1查看 218关注 0票数 0

我从Python连接到HANA数据库,并使用以下代码将模式中的任何给定表读取到Pandas数据帧中:

代码语言:javascript
复制
from hdbcli import dbapi
conn = dbapi.connect(
                      address=XXXX,
                      port=32015,
                      user="username",
                      password="password",
                      )
schema = <schema_name>
tablename = <table name>

pd.read_sql(f'select * from {schema}.{tablename}',conn)

这段代码工作没有任何问题-我能够将表格下载到Pandas数据框中。

然而,我无法上传任何熊猫数据帧回HANA数据库,即使它是相同的模式。

代码语言:javascript
复制
xy.to_sql('new_table',conn)

我甚至尝试在HANA Studio中预定义要上传到的表,并定义它的列和数据类型。尽管如此,我还是得到以下错误:

DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': (259, 'invalid table name: Could not find table/view SQLITE_MASTER in schema <RANDOM_SCHEMA>: line 1 col 18 (at pos 17)')

需要注意的是,上述错误中的与上面定义的模式不同,但它是HANA Studio的我的用户名。

我认为既然我可以将表读入数据帧,那么我应该能够将数据帧写入HANA DB表。我说错了吗?我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-04-20 05:59:41

由于某些原因,代码试图从SQLlite目录表sqlite_master中读取数据,但是该表在HANA (或任何其他非SQLlite的数据库管理系统)上不存在。不确定是否可以将PANDAS配置为以不同方式使用不同的DBMS。但是,对于HANA,有一个“机器学习”python库可用,它提供了数据帧与HANA数据库的轻松集成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67166045

复制
相关文章

相似问题

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