我希望SQL Server DB中的表是一个漂亮的逗号分隔列表。我有一些代码如下。
import pyodbc
cnxn = pyodbc.connect('Trusted_Connection=yes',
driver = '{ODBC Driver 13 for SQL Server}',
server = 'XXXXXXSQLSERVER',
database = 'AdventureWorks2016CTP3')
sql = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES"
cursor = cnxn.cursor()
cursor.execute(sql)
print(cursor.fetchall())
我希望列表像一样
[地址',地址类型',…..]
而不是
[("地址",(,("地址类型",(…..]
如何完成此操作。
切尔西
看起来该列表是作为单个元素元组的列表返回的。您可以使用join((和一个长字符串的第一个元素的索引来连接它们,也可以使用列表理解将它们作为单个列表返回。
val = [('Table1',),('Table2',),('Table3',)]
table_list = [x[0] for x in val]
table_string = ', '.join([x[0] for x in val])
如果你不喜欢join()
,这是理解列表的好时机:
table_list = [x[0] for x in val]
它将返回一个与您指定的列表类似的列表。