tablas recorrer para one nombre leer index funciones filtrar datos data columns columna column cambiar python postgresql pandas

python - para - recorrer data frame pandas



Actualizar la fila existente en la base de datos de pandas df (1)

Tengo un db PostgreSQL. Pandas tiene una función ''to_sql'' para escribir los registros de un marco de datos en una base de datos. Pero no he encontrado ninguna documentación sobre cómo actualizar una fila de base de datos existente usando pandas cuando termine con el marco de datos.

Actualmente puedo leer una tabla de base de datos en un marco de datos utilizando pandas read_sql_table. Luego trabajo con los datos según sea necesario. Sin embargo, no he podido averiguar cómo escribir ese marco de datos en la base de datos para actualizar las filas originales.

No quiero tener que sobrescribir toda la tabla. Solo necesito actualizar las filas que fueron seleccionadas originalmente.


Una forma es hacer uso de una "clase de tabla" sqlalchemy y session.merge (row), session.commit ():

Aquí hay un ejemplo:

for row in range(0, len(df)): row_data = table_class(column_1=df.ix[i][''column_name''], column_2=df.ix[i][''column_name''], ... ) session.merge(row_data) session.commit()