回答

收藏

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

技术问答 技术问答 269 人阅读 | 0 人回复 | 2023-09-14

我正在尝试将Pandas DataFrame导出到Oracle数据库。我在Pandas中遇到过Write_Frame函数,这听起来确实正是我所需要的。1 e9 L* P1 ~2 u+ v0 ]2 O  T+ o
但是,我已经在线进行了大量搜索,但无法使其正常工作。我已经导入了cx_Oracle,并且可以连接到Oracle数据库以及运行SQL查询而没有任何问题,但是当我运行它时,它给了我一个’1 l' H6 X& F0 v: y3 |2 H+ p1 Z4 \4 E. E
NotImplementedError ‘:
/ O* D% Z, N- y/ I7 Y4 N6 {/ m+ kimport pandas.io.sql as psql
( \+ J/ F: k4 M" z+ \0 D output = psql.write_frame(MyResults, name = 'MySchema.MyTable', con = MyCon,
' W( b* w2 w5 G2 k! U                           flavor = 'oracle', if_exists = 'replace')
# H" a* D. B2 V# S" |到目前为止,我已经在sqlite和mysql上看到了很多wrtie_frame的示例,这是否意味着如果flavor
8 D$ c% }3 j7 s+ M# U=’oracle’,它将不起作用?我尝试将样式更改为mysql,但它给我一个错误消息,提示 “ Invalid SQL
# }$ H- z' [" t( u9 Rstatement”(无效的SQL语句)
4 U( }# e+ J$ ~
有人可以帮我解决此问题,因为我更喜欢不必将结果写入CSV文件然后导出到数据库表吗?& o/ v# ~( n; q+ A/ a* R/ O
谢谢
, K1 o% A  v. C7 W' V; D- u8 M                  y. f0 d2 r2 M0 G5 i8 f
解决方案:
$ c! l' A' h4 J7 `# a' ]                6 j6 I/ ~( ], p( K1 ]% x& s
, B9 P! p, ?; I: i# E1 M9 I

- T1 t& ]. `, {' V                扩展一下Andy Hayden的评论:在6 t$ n& ]+ O) p' G6 g3 v
但是sql模块在0.14中进行了大修(目前正在开发中)。现在它sqlalchemy在后台使用,因此通常现在应该通过sqlalchemy支持oracle。有关更多详细信息,请参见开发文档:http : //pandas-1 y; I- {. s. S5 Q/ }" _; n
docs.github.io/pandas-docs-travis/io.html#io-sql。确实,如果您能够使用oracle进行测试并提供一些反馈,那就太好了!
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则