使用python数据框更新postgres列

时间:2016-09-19 15:32:26

标签: python sql postgresql dataframe

我正在为不同的日期生成数据框(df),它将具有以下变量

date           value     rowId
2016-05-14       2.5       1
2016-05-14       3.0       2
2016-05-14       3.4       5

我必须更新postgres表(value)中的列(Table1)。此表已包含(value)中十进制类型的列(Table1)以及唯一标识符(rowId

for d in range(0,len(df)):
        QUERY=""" UPDATE "Table1" SET "value"='%s' WHERE "Table1"."rowId"='%s'
            """ % (df['value'][d], df['rowId'][d])
        cur.execute(QUERY)

没有错误。但是,上面的代码不会更新Postgres表中的列。代码中是否有错误?

1 个答案:

答案 0 :(得分:0)

好吧,使用提交关闭事务应该会有所帮助。我不确定您使用的是psycopg2,还是其他具有commit()功能的库。如果没有,那么一个简单的cur.execute('COMMIT')就足够了。这应该在for循环后立即运行。