Python:PSQL:从查询生成列表

时间:2015-07-17 11:40:28

标签: python sql list psql

我正在尝试从表中检索一些数据并将其作为列表输出。问题是结果列表的格式不正确。

这是我的表: enter image description here

我的代码:

cur.execute("SELECT tegebruikentags FROM tagstegebruiken WHERE wel_niet_lezen = True")
taglist = cur.fetchall()
print (taglist)

输出:

  

[('Bakkerij.Device1.DB100INT0',),('Bakkerij.Device1.DB100INT4',),   ( 'Bakkerij.Device1.DB100INT8',)]

所需的输出:

  

['Bakkerij.Device1.DB100INT0','Bakkerij.Device1.DB100INT4',   'Bakkerij.Device1.DB100INT8']

如何编辑代码以获取我想要的列表?

提前致谢!

2 个答案:

答案 0 :(得分:2)

我不确定您是否可以使用查询自动执行此操作,但这是一个解决方案。

li = [item[0] for item in cur.fetchall()]
print li
'['Bakkerij.Device1.DB100INT0', 'Bakkerij.Device1.DB100INT4', 'Bakkerij.Device1.DB100INT8']'

答案 1 :(得分:0)

如果您使用的是psycopg2,cursor.fetchall会返回一个元组列表,即使其中只有一列。

您可以使用 -

将该元组列表转换为列表
taglist = [i for item in taglist for i in item]