Sie können df2.values.tolist
verwenden um eine Parameterliste zu erhalten, und einen Code wie unten, um die Werte in den Datenrahmen einzufügen:
import pandas as pd
import cx_Oracle
conn = cx_Oracle.connect('un/[email protected]:port/dbname')
try:
cursor = conn.cursor()
df2 = pd.DataFrame({'names':['Pepe','Luis'], 'stages': [0,1], 'order': [3, 2]})
col_list = df2.values.tolist()
cursor.prepare("INSERT INTO customer_prf(names,label,type,id,n_stage,ctry,\"order\") VALUES(:1,'references','text',seq_customer.nextval,:2,2,:3)")
cursor.executemany(None,col_list)
print("executed!")
except Exception as err:
print('Error', err)
else:
conn.commit()
wo
-
bevorzuge die Verwendung von
executemany
stattexecute
als leistungsstärker -
Erstellen Sie eine Sequenz (
seq_customer
) und zu Ihrer Werteliste hinzufügen (seq_customer.nextval
) als Verwendung von DB Version 11g, wenn Ihre Datenbank Version 12c+ war, dann könnte die ID-Spalte innerhalb der DDL-Anweisung zum Erstellen einer Tabelle identifiziert werden (z. B. während der Tabellenerstellung). ) wie zum BeispielID INT generated always as identity primary key