【问题标题】:Update column attributes dynamically in Python?在 Python 中动态更新列属性?
【发布时间】:2018-04-18 01:41:08
【问题描述】:

我有一个表,我正在尝试根据另一列的值的属性从一列创建属性的值...

本质上,一列是一长串数字...例如 540379724021081 我正在尝试为该元组创建前 4 个字符的另一个属性值,所以...5403

所以最后我的桌子会从......

对此...

我开始在 Python 中使用 Psycopg2 执行此操作...但我制作的快速脚本认为这不是正确的方法

import psycopg2

conn = psycopg2.connect("dbname='gis3capstone' user='postgres' password='password' host='localhost' port='5433'")
cur = conn.cursor()

cur.execute('SELECT * FROM fcc_form_477')
row = cur.fetchone()
while row:
    val2 = str(row[0])[0:4]
    # Set row[1] = val2 ??
    row = cur.fetchone()

有什么帮助吗?

编辑:或 SQL...如果我能那样做的话

【问题讨论】:

    标签: python sql postgresql psycopg2


    【解决方案1】:

    你可以使用substr():

    select substr(val1, 1, 4) as val2
    

    如果值是数字,则将其转换为字符串:

    select substr(val1::text, 1, 4) as val2
    

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 2013-06-17
      • 2021-07-18
      • 2015-08-24
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      相关资源
      最近更新 更多