尝试通过熊猫将CSV文件写入Oracle数据库表

时间:2018-09-13 09:17:25

标签: python pandas

我正在尝试使用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

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

该错误表明您的代码实际上正在尝试导出到SQLite数据库,如果实际上目标是Oracle数据库,则该数据库可能会失败。

如果我正确理解documentation for dataframe.to_sql(),则默认情况下它假定将SQLite数据库作为目标。因此,为了将Oracle用作数据库目标,您必须按照文档中所述使用SQLAlchemy对其进行明确说明。