Bạn có thể sử dụng df2.values.tolist
để có được danh sách tham số và mã như bên dưới để chèn các giá trị vào khung dữ liệu:
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()
ở đâu
-
thích sử dụng
executemany
thay vìexecute
như trở nên hiệu quả hơn -
tạo một chuỗi (
seq_customer
) và thêm vào danh sách giá trị của bạn (seq_customer.nextval
) khi sử dụng DB phiên bản 11g, nếu cơ sở dữ liệu của bạn là phiên bản 12c +, thì cột ID có thể được xác định trong câu lệnh tạo bảng ddl (ví dụ: trong khi tạo bảng ) chẳng hạn nhưID INT generated always as identity primary key