我试图将MSSQL(pyodbc)查询的输出与看似相似的字符串元组进行比较,而python一直告诉我它们不匹配。
def test_internship_direct_app_a_submit(self):
address_result = SQLHelper.address_result("""
select top 2 blah, blah, blah
""" )
print address_result[0]
print type(address_result[0])
print address_result[0] == ('1819 Harras Blvd', '', 'Atlantic City', 'NJ', '08401')
控制台输出: (你&#39; 1819 Harras Blvd&#39;,你&#39;,你&#39;大西洋城&#39;,&#39; NJ&#39;,u&#39; 08401&#39;)< / p>
键入&#39; pyodbc.Row&#39;
假
问题:如何操作数据库的输出,以便轻松地将其与元组中的字符串列表进行比较?提前致谢
哦,这是我用来获取数据的python中的代码:
def address_result(sql, param1):
cnxn = pyodbc.connect(connect_string)
cursor = cnxn.cursor()
params = (param1)
cursor.execute(sql ,params)
rows = cursor.fetchall()
addresses= []
for row in rows:
addresses.append(row)
cursor.close()
cnxn.close()
return addresses
答案 0 :(得分:2)
问题是从数据库返回的对象是pyodbc.Row类型而不是真正的元组。
将此添加到测试脚本的末尾并获得启示:
print tuple(address_result[0]) == ('1819 Harras Blvd', '', 'Atlantic City', 'NJ', '08401')