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]
我正在尝试从 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]