2017-04-24 50 views
0

我通过通过Python抓取数据从MS SQL的:Python的MSSQL转储列出

cursor.execute('SELECT IP FROM Nodes WHERE NodeGroup=%s', 'group1') 
row = cursor.fetchall() 

return row 

我收到这样的回报:

[('10.10.10.10',), ('10.10.10.20',), ('10.10.10.30',), ('10.10.10.40',)] 

我需要它的格式作者:

['10.10.10.10', '10.10.10.20', '10.10.10.30', '10.10.10.40'] 

我假设这是一个元组的元组?我如何从.fetchall()中获得输出结果?

+1

'[X [0]对于x行]' – jordanm

回答

0

你可以把你的元组列表

row = [ r[0] for r in cursor.fetchall() ] 
+0

因此,只要通过使用fetchall迭代,并作出新的列表?工作得很好。返回很多行时是否存在速度问题? – hiddenicon

+0

实际上,列表推导比遍历for循环要快一些,但这仍然会比返回元组列表更慢。 –

+0

明白了。理解很有效。除了fetchall()之外,是否还有其他选项可以产生更好的列表?意思是,给我我正在寻找的输出,但在数据库选择,而不是做一个理解或迭代? – hiddenicon