我正在尝试将 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')
到目前为止,我在sqlite和mysql上看到了很多wrtie_frame的例子,那是否意味着如果flavor = 'oracle'它就不能工作了?我曾尝试将风格更改为 mysql,但它给我一个错误提示:'Invalid SQL statement'??
谁能帮我解决这个问题,因为我更喜欢不必将结果写入 CSV 文件然后导出到数据库表?
谢谢
最佳答案
扩展 Andy Hayden 的评论:pandas <= 0.13 及更早版本确实不支持 oracle(仅支持 sqlite 和 mysql)。
但是 sql 模块在 0.14 中进行了大修(目前正在开发中)。它现在在后台使用 sqlalchemy
,因此现在通常应该通过 sqlalchemy 支持 oracle。有关详细信息,请参阅开发文档:http://pandas-docs.github.io/pandas-docs-travis/io.html#io-sql .事实上,如果您能够使用 Oracle 对其进行测试并提供一些反馈,那就太棒了!
关于python - cx_Oracle中如何使用Pandas Write_Frame将结果导出到Oracle数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22460515/