如何使用Pandas Write_Frame将结果导出到cx_Oracle中的Oracle数据库

use*_*225 7 python sql oracle cx-oracle pandas

我正在尝试将Pandas DataFrame导出到Oracle数据库.我在Pandas中遇到过Write_Frame函数,听起来就像我需要的那样.

但是,我在网上进行了大量的搜索,但却无法让它发挥作用.我已经导入了cx_Oracle并且可以连接到Oracle数据库以及运行SQL查询而没有任何问题,但是当我运行它时它给了我一个' NotImplementedError ':

import pandas.io.sql as psql

 output = psql.write_frame(MyResults, name = 'MySchema.MyTable', con = MyCon, 
                           flavor = 'oracle', if_exists = 'replace')
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经在sqlite和mysql上看到了很多关于wrtie_frame的例子,那么这是否意味着如果flavor ='oracle'它将不起作用?我已经尝试将味道改为mysql,但它给我一个错误,说"无效的SQL语句"

任何人都可以帮我解决这个问题,因为我不想将结果写入CSV文件然后导出到数据库表吗?

谢谢

jor*_*ris 2

扩展 Andy Hayden 的评论:pandas <= 0.13 及更早版本中确实不支持 oracle(仅支持 sqlite 和 mysql)。

但是 sql 模块在 0.14 中进行了一次大修改(目前正在开发中)。它现在sqlalchemy在后台使用,因此通常 Oracle 现在应该通过 sqlalchemy 支持。有关更多详细信息,请参阅开发文档:http://pandas-docs.github.io/pandas-docs-travis/io.html#io-sql。事实上,如果您能够使用 Oracle 对其进行测试并提供一些反馈,那就太棒了!