首页 > 解决方案 > 在 python postgresql 中的列表中返回单列获取

问题描述

数据库:

ID 贸易 令牌
1 美国广播公司 5523
2 fdfd 5145
3 sdfd 2899

代码:

def db_fetchquery(sql):
    conn    = psycopg2.connect(database="trade", user='postgres', password='jps', host='127.0.0.1', port= '5432')
    cursor = conn.cursor()
    conn.autocommit = True
    cursor.execute(sql)
    row = cursor.rowcount
    if row >= 1:
        data = cursor.fetchall()
        conn.close()
        return data
    conn.close()
    return False

print(db_fetchquery("SELECT token FROM script"))

结果:

[(5523,),(5145,),(2899,)]

但我需要结果:

[5523,5145,2899]

我也尝试过print(db_fetchquery("SELECT zerodha FROM script")[0]),但这给出的结果是:- [(5523,)]

另外,当我只获取一列时,为什么列表中有“,”/列表?

标签: pythonsqlpython-3.xpostgresqllist

解决方案


不知道你是否能够在没有进一步处理的情况下做到这一点,但我会这样做:

data = [x[0] for x in data]

它将元组列表转换为一维列表


推荐阅读