【问题标题】:Updating postgres column using python dataframe使用 python 数据框更新 postgres 列
【发布时间】:2016-09-19 15:32:26
【问题描述】:

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

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

我必须更新 postgres 表 (Table1) 中的列 (value)。此表已包含 (Table1) 中的十进制类型列 (value) 以及唯一标识符 (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 表中的列。代码有错误吗?

【问题讨论】:

  • 唯一可以发现的可能是您可能需要做的就是将您的值和行设为字符串。 %(str(df['value'][d]) , str(df['rowId'][d]))

标签: python sql postgresql dataframe


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2013-05-04
    • 2019-07-13
    • 2016-04-02
    • 2017-04-13
    • 2018-09-18
    相关资源
    最近更新 更多