sql >> Database teknologi >  >> RDS >> Oracle

Hvordan indsætter jeg en dataramme til en orakel tabel ulovlig/variabel orakel

Du kan bruge df2.values.tolist for at få en parameterliste, og sådan en kode som nedenfor for at indsætte værdierne i datarammen:

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()

hvor

  • foretrækker at bruge executemany i stedet for at execute som værende mere performant

  • opret en sekvens (seq_customer ) og tilføj til din værdiliste(seq_customer.nextval ) som ved brug af DB version 11g, hvis din database var af version 12c+, så kunne ID-kolonnen identificeres i create table ddl-sætningen (f.eks. under tabeloprettelse ) såsom

    ID INT generated always as identity primary key




  1. Sequelize:Eller-tilstand over flere borde

  2. Overførsel af en brugerdefineret tabeltype mellem SQL Server-database

  3. Blanding af isolationsniveauer i PostgreSQL

  4. Brug af Geekbench 3 til at evaluere databaseserverens ydeevne