Python 将作为pyodbc游标属性返回的所有字段追加到用户定义的数据类型

Python 将作为pyodbc游标属性返回的所有字段追加到用户定义的数据类型,python,pyodbc,Python,Pyodbc,我有以下代码: classinstance.col1 = queryresult.col1 classinstance.col2 = queryresult.col2 classinstance.col3 = queryresult.col3 classinstance.col4 = queryresult.col4 它将变量添加到classinstance中,并为queryresult列指定与变量同名的值 我希望我的代码更灵活一些,不需要按名称识别列。为此,我想知道是否有某种方法可以对所有列

我有以下代码:

classinstance.col1 = queryresult.col1
classinstance.col2 = queryresult.col2
classinstance.col3 = queryresult.col3
classinstance.col4 = queryresult.col4
它将变量添加到
classinstance
中,并为
queryresult
列指定与变量同名的值

我希望我的代码更灵活一些,不需要按名称识别列。为此,我想知道是否有某种方法可以对所有列进行循环,而不是单独处理每一列。类似这样的内容(这是伪代码而不是实际代码,因为我不确定它实际上应该是什么样子):


这可能吗?它需要什么?我是否有一些基本的误解?

我假设以下示例的结果中只有一行(在注释的帮助下生成)。这里的关键组件是
zip(row.cursor\u description,row)
用于从
pyodbc.row
对象获取列名

# convert row to an object, assuming row variable contains query result
rowdict = { key[0]:value for (key, value) in zip(row.cursor_description, row) }

# loop through keys (equivalent to column names) and set class instance values
# assumes existing instance of class is variable classinstance
for column in rowdict.keys():
    classinstance[column] = rowdict[column]

我假设以下示例的结果中只有一行(在注释的帮助下构建)。这里的关键组件是
zip(row.cursor\u description,row)
用于从
pyodbc.row
对象获取列名

# convert row to an object, assuming row variable contains query result
rowdict = { key[0]:value for (key, value) in zip(row.cursor_description, row) }

# loop through keys (equivalent to column names) and set class instance values
# assumes existing instance of class is variable classinstance
for column in rowdict.keys():
    classinstance[column] = rowdict[column]
另见