从SQL Server数据库中获取表列表,作为字符串的干净python列表



我希望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]

它将返回一个与您指定的列表类似的列表。

相关内容

  • 没有找到相关文章

最新更新