Python:PSQL:从查询生成列表

Python: PSQL: Generate list from query

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

这是我的table:

我的代码:

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']

我应该如何编辑代码才能获得我想要的列表?

提前致谢!

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

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

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

您可以使用 -

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