在 python postgresql 中,单列获取返回列表

bow*_*wih 6 python sql postgresql list python-3.x

数据库:

ID 贸易 代币
1 ABC 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"))
Run Code Online (Sandbox Code Playgroud)

结果:

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

但我需要的结果是:

[5523,5145,2899]

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

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

小智 8

不确定您是否能够在不进行进一步处理的情况下做到这一点,但我会这样做:

data = [x[0] for x in data]
Run Code Online (Sandbox Code Playgroud)

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