2017-12-19 4 views
0

初めて以下のコードを試しました。 pandasデータフレームからOracleデータベースにデータを挿入する必要があります。 しかし、以下のエラーが発生しています。誰かが私を導くことができますか?Python pandasとoracle

df = pd.DataFrame(pd.read_csv('data.csv', header=0)) 


query ="INSERT INTO invoice_header_mapping (column1,column2)" \ 
     "VALUES(%S,%S)" 
args = (df.column1,df.column2) 
cur = con.cursor() 
cur.execute(query,args) 

Traceback (most recent call last): 
    File "ETL.py", line 22, in <module> 
    cur.execute(query,args) 
cx_Oracle.NotSupportedError: Variable_TypeByValue(): unhandled data type Series 

ありがとう

+0

私はあなたがoracleではなくmysql構文を使用していると思います。例えば、このサイトを見て、キーワード "executemany"を見つけてください。 https://learncodeshare.net/2015/06/26/insert-crud-using-cx_oracle/ – anonyXmous

答えて

0

私がしようとすると手で問題を解決するためにいくつかのガイドラインを指すことができます:それはあなたが合格しているデータの種類を思わ

がサポートされていません

(引数の=をperharpsしてみてください(DF .column1.values、df.column2.values))、numpy配列もサポートされていない場合は、リストに変換します。

これも失敗した場合は、カーソルに "executemany"のようなメソッドがあるかどうかを確認して、やり直してください。