python中一组数查询数据库中对应的值
python中如何查询一组数在数据库中对应的其他属性。例如:我有一组编号:list=[1,2,3,4,5,6]还有个SQLserver数据库,对应表名为name.dbo....
python中如何查询一组数在数据库中对应的其他属性。
例如:
我有一组编号:
list=[1,2,3,4,5,6]
还有个SQL server数据库,对应表名为name.dbo.nlist。列名:list,Name
如何查询,list的每个值在数据库中对应的Name
我用的pyodbc连接的SQL sever。装了pandas和numpy
谢谢大神!
非常感谢您的帮助! 展开
例如:
我有一组编号:
list=[1,2,3,4,5,6]
还有个SQL server数据库,对应表名为name.dbo.nlist。列名:list,Name
如何查询,list的每个值在数据库中对应的Name
我用的pyodbc连接的SQL sever。装了pandas和numpy
谢谢大神!
非常感谢您的帮助! 展开
1个回答
展开全部
我常用pymssql连接M$SQL服务器, 没用过pyodbc, 但按理应该都差不多。
若用pymssql, 从数据库中取数据的过程如下:
import pymssql
connect_setting = {
'host': '127.0.0.1',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}
conn = pymssql.connect(**connect_setting)
curr = conn.cursor()
curr.execute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
curr.close()
conn.close()
关于"如何查询,list的每个值在数据库中对应的Name“
若库表中的数据像下面的样子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:
curr.execute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])
lst = [1,2,3,4,5,6]
用dd进行转换
[(i, dd.get(i)) for i in lst]
==>
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]
or
[dd.get(i, i) for i in lst]
==>
['python', 'perl', 'c', 'java', 5, 6]
若用pymssql, 从数据库中取数据的过程如下:
import pymssql
connect_setting = {
'host': '127.0.0.1',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}
conn = pymssql.connect(**connect_setting)
curr = conn.cursor()
curr.execute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
curr.close()
conn.close()
关于"如何查询,list的每个值在数据库中对应的Name“
若库表中的数据像下面的样子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:
curr.execute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])
lst = [1,2,3,4,5,6]
用dd进行转换
[(i, dd.get(i)) for i in lst]
==>
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]
or
[dd.get(i, i) for i in lst]
==>
['python', 'perl', 'c', 'java', 5, 6]
更多追问追答
追问
我现在已经将数据库中的数据拿到了一个二维矩阵中,用numpy的array做的。。怎么转成字典。。。
追答
>>> import numpy as np
>>>
>>> aresult = np.array([[1,23], [2,53], [3,64], [4,78], [5,26], [6, 98]])
>>> aresult
array([[ 1, 23],
[ 2, 53],
[ 3, 64],
[ 4, 78],
[ 5, 26],
[ 6, 98]])
>>> dict(aresult)
{1: 23, 2: 53, 3: 64, 4: 78, 5: 26, 6: 98}
>>>
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询