gpt4 book ai didi

python - 使用 pyodbc 从 MSSQL 中提取值

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:50 25 4
gpt4 key购买 nike

我是 Python 新手,在将 MSSQL 列中的值读取到列表中时遇到困难。输出的每个值都有一个文本 u',并且编码函数无法删除相同的文本

例如,如果列名称=“城市”并且表名称=“世界城市” - 当我执行附加代码时,我得到如下输出

实际输出:[(u'chicago', ),(u'dallas', ),(u'kansas', )]预期输出:[芝加哥、达拉斯、堪萨斯]

import pyodbc
def colread(columnname,tablename,listname):
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server= ABC;"
"Database=City;"
"Trusted_Connection=yes;")

cursor = cnxn.cursor()
sql = "SELECT " + columnname + " FROM " + tablename
cursor.execute(sql)
data = cursor.fetchall()
columnlist = []
listname = []

for row in data:
c = row
columnlist.append(c)
columnlist = [item for item in columnlist if item]
listname = columnlist
listname = [item.encode('ascii','ignore') for item in columnlist]
cnxn.close()
return listname
CITYDB = colread('Cities','World_City','citydb')
print CITYDB[0:10]

注意:我了解了 SQL 注入(inject)问题,一旦解决这个问题我就会解决。

最佳答案

您的数据位于一元组中。您应该能够执行此操作来获取所需格式的数据:

columnlist = [item[0] for item in columnlist if item]

如果您的程序有可信输入,您可以动态提供列名和表名。

关于python - 使用 pyodbc 从 MSSQL 中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45016057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com