Кортежи или сопоставления параметров следует искать в последовательности lines , которая является вторым аргументом метода executemany , тогда как строки заголовков, такие как PERSONID , LASTNAME .. et c. возвращайте в каждом шаге для этого аргумента.
Не проверял на Python 2, но попробуйте следующий код, который работает для Phyton 3:
import pandas as pd
import cx_Oracle
ConStr = 'UserName/PWD@END_POINT:PORT/SERVICE_NAME'
con=cx_Oracle.connect(ConStr)
cur=con.cursor()
fl=r'C:\\Documents\\csv\\Persons.csv'
sql = "insert into Persons (PERSONID,LASTNAME,FIRSTNAME,ADDRESS,CITY) values (:1,:2,:3,:4,:5)"
read_csv = pd.read_csv(fl,delimiter= '|')
df_list = read_csv.values.tolist()
for lines, r in read_csv.iterrows():
cur.execute(sql,r)
cur.close()
con.commit()
con.close();
, где
for lines, r in read_csv.iterrows():
cur.execute(sql,r)
является альтернативой методу, который вы пытаетесь запустить.