ORACLE 中的表....SQL> desc mytable2 Name Null? Type ----------------------------------------- -------- ---------------------------- D DATE A NUMBER C NUMBERPandas 中的 DATAFRAME 具有以下数据date open high..........................2020-07-07 375.41 378.62我是 python 的新手,试图将这些数据添加到表中。在向其中添加 DF 数据之前尝试样本数据测试。如果我使用 COMMENTED 插入,它会失败,因为我将 STRING 传递到日期列 - 我试图在传递给 Oracle 之前查看如何在 python 中将 STRING 转换为 DATE - 请告知。import cx_Oracleimport pandas as pdconnect=cx_Oracle.connect('astro/astro@10.0.0.145:1621/analytica')cursor=connect.cursor()#cursor.execute(" insert into TTTT values (:1, :2, :3, :4, :5, :6)", ['2020-10-10', 12,12,12,12,12]cursor.execute("insert into MyTable2 values (:D, :A, :B)" , [(to_date('2020-12-12','yyyy-mm-dd' ) ,15, 15])connect.commit()
1 回答

RISEBY
TA贡献1856条经验 获得超5个赞
绑定值只能包含数据,因此包含 SQL“to_date()”函数将不起作用。基本的解决方案是使用这样的东西:
cursor.execute("insert into MyTable2 values (to_date(:D,'YYYY-MM-DD'), :A, :B)" , ['2020-12-12' ,15, 15]
您也可以设置默认日期格式,或者只插入一个日期而不是日期的字符串表示形式。
您可以在cx_Oracle 文档中找到有用的信息。
添加回答
举报
0/150
提交
取消