एक अस्थायी तालिका पर विचार करें जो आपकी अंतिम तालिका की सटीक प्रतिकृति होगी, जिसे प्रत्येक रन के साथ साफ किया जाएगा:
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)