2017-12-19 4 views
0

아래 코드를 처음 시도했습니다. pandas 데이터 프레임의 데이터를 Oracle 데이터베이스에 삽입해야합니다. 하지만 오류가 발생하고 있습니다. 아무도 나를 안내 할 수 있을까요?Python pandas and 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 배열도 지원되지 않으면 list로 변환하십시오.

또한 실패하면 "executemany"와 같은 메소드가 있는지 확인한 다음 다시 시도하십시오.