Python使用pyodbc读取SQL Server数据输出格式调整问题
解决方案
你当前直接打印pyodbc返回的行对象时,Python会将行对象(类元组结构)里的字符串类型元素默认带单引号输出,只要取出具体的字段值再打印即可解决问题。
调整后代码示例
场景1:所有结果按空格分隔成一行输出(即你要的1 2 3格式)
import pyodbc conn = pyodbc.connect('Driver={SQL Server};' 'Server=DESKTOP-IINBCRC\SQLEXPRESS;' 'Database=employees;' 'Trusted_Connection=yes;') cur = conn.cursor() cur.execute("select * from Login") # 提取每行第一个字段的值,用空格拼接后打印 result = [str(item[0]) for item in cur] print(' '.join(result)) # 操作完成后关闭连接 cur.close() conn.close()
场景2:逐行输出无引号的结果
for row in cur: # 按索引取对应字段的值直接打印,不需要打印整个行对象 print(row[0])
如果你的查询返回多个字段,也可以通过字段名取值(比如row.username,对应你表的实际字段名即可),直接打印原生字段值不会额外生成引号。
内容的提问来源于stack exchange,提问作者Jaweed
相关产品推荐
相关产品推荐

