dar*_*ool 23 python postgresql pandas
我有一个PostgreSQL数据库.Pandas有一个'to_sql'函数,用于将数据帧的记录写入数据库.但是我没有找到任何关于如何在完成数据帧时使用pandas更新现有数据库行的文档.
目前,我可以使用pandas read_sql_table将数据库表读入数据帧.然后我根据需要处理数据.但是,我无法弄清楚如何将该数据帧写回数据库以更新原始行.
我不想要覆盖整个表格.我只需要更新最初选择的行.
一种方法是利用sqlalchemy“表类”和session.merge(row),session.commit():
这是一个例子:
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()
Run Code Online (Sandbox Code Playgroud)