我使用下面的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)
优点是它将返回元组中的每个条目,无论元组的长度或元组列表的长度。