我正在尝试使用Python的熊猫将表写入Oracle数据库。
这是我的代码:
import cx_Oracle
import pandas as pd
import csv
df = pd.read_csv('C:/Users/admin/Desktop/customer.csv')
conn = cx_Oracle.connect('SYSTEM/Mouni123$@localhost/orcl')
df = df.to_sql('cust', conn, 'if_exists=replace')
conn.close()
df
我收到以下错误:
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ORA-01036: illegal variable name/number
我在做什么错了?
答案 0 :(得分:0)
该错误表明您的代码实际上正在尝试导出到SQLite数据库,如果实际上目标是Oracle数据库,则该数据库可能会失败。
如果我正确理解documentation for dataframe.to_sql()
,则默认情况下它假定将SQLite数据库作为目标。因此,为了将Oracle用作数据库目标,您必须按照文档中所述使用SQLAlchemy对其进行明确说明。