我正在尝试从表中检索一些数据并将其作为列表输出。问题是结果列表的格式不正确。
这是我的表:
我的代码:
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']
如何编辑代码以获取我想要的列表?
提前致谢!
答案 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]