Python pyodbc循环-从列表中删除括号,连字符和逗号



我使用下面的Python脚本来循环SQL Server表并将值保存到列表中。然而,我不希望括号,逗号等。当我运行下面的命令时,列表中的记录如下所示:

('TN12345', )

我只是想要下面-它如何存在于SQL表:

TN12345

这是我的脚本:

import pyodbc
connstr = 'DRIVER={SQL Server};SERVER=XXXXXXXXXXX;DATABASE=XXXXXXXXXXX;Trusted_Connection=yes;'
conn = pyodbc.connect(connstr)
cursor = conn.cursor()
cursor.execute("""SELECT TN_Number FROM Table""")
records = cursor.fetchall()
insertObject = []
columnNames = [column[0] for column in cursor.description]
for record in records:
insertObject.append( dict( zip( columnNames , record ) ) )
for i in range(len(records)):
print(records[i])

This

('TN12345', )

是具有一个元素的元组,代表数据库中的行,如果你能保证你的查询总是只返回1列,那么你可以使用[0]来访问该元组中的单个元素,在你的情况下替换

for i in range(len(records)):
print(records[i])

使用

for i in range(len(records)):
print(records[i][0])

或者您可以直接使用for循环(不关心索引),如下所示

for record in records:
print(record[0])

如果您想在元组中逐个获取所有元素:

for i in range(len(records)):
for j in records[i]:
print(j)

优点是它将返回元组中的每个条目,无论元组的长度或元组列表的长度。

相关内容

  • 没有找到相关文章

最新更新