PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

pandas mise à jour sql

Considérez une table temporaire qui serait une réplique exacte de votre table finale, nettoyée à chaque exécution :

engine = create_engine('postgresql+psycopg2://user:[email protected]')
df.to_sql('temp_table', engine, if_exists='replace')

sql = """
    UPDATE final_table AS f
    SET col1 = t.col1
    FROM temp_table AS t
    WHERE f.id = t.id
"""

with engine.begin() as conn:     # TRANSACTION
    conn.execute(sql)