在python中记录等效的数据类型

在python中记录等效的数据类型,python,python-3.x,tuples,Python,Python 3.x,Tuples,我正在连接到snowfalke数据库,只获取1条记录。此记录将有21列。在我使用connection在python中读取它们之后,它们返回一个元组对象 我想用名称访问tuple对象的元素 我更希望访问这些元组元素,它们的名称与数据库中的列名相同 在PL/SQL中,我们有一种称为记录类型的东西。记录中的元素可以通过名称访问 如何在python中实现这一点 伪代码ex: tup_obj = connection.execute('select name, age, height, weight fr

我正在连接到snowfalke数据库,只获取1条记录。此记录将有21列。在我使用connection在python中读取它们之后,它们返回一个元组对象

我想用名称访问tuple对象的元素

我更希望访问这些元组元素,它们的名称与数据库中的列名相同

在PL/SQL中,我们有一种称为记录类型的东西。记录中的元素可以通过名称访问

如何在python中实现这一点

伪代码ex:

tup_obj = connection.execute('select name, age, height, weight from table')
我想用这样的名称访问tuple对象

tup_obj.name=='Harish'

以上只是要求的一个例子。以下是与我的用例具有相同结构的模拟数据:

print(type(tup_obj))
print(tup_obj)

<class 'tuple'>
(101010, 5, 1, 200, 'text', 'text', 'text', 'text', 18075, 'text', 'text', 'text', 37, 2, 57, 'Y', 'S', 'S', 'text', 123, 'text')
打印(类型(tup_obj))
打印(tup_obj)
(101010,5,1200,'text','text','text','text','text',18075,'text','text','text',37,2,57,'Y','S','S','text',123,'text')

使用字典数据结构来存储和访问,如
tup\u obj.name

columns = ['name', 'age', 'height', 'weight']
data = [('a', 20, 170, 80)] # This will be your select query results
out = [dict(zip(columns, x)) for x in data]
输出

[{'name': 'a', 'age': 20, 'height': 170, 'weight': 80}]
访问使用

out[0]['name'] # This will give string 'a'
编辑:

对于tuple,直接使用

dict(zip(columns, data))

谢谢我在实际数据中尝试了这个。。获取错误:zip参数#2必须支持迭代。您应该在问题中发布一些数据@HarikrishnanBalachandran。很抱歉,我不能这样做。但是谢谢你的主意。我将尝试修复错误。@HarikrishnanBalachandran如果你想让别人帮助你,你需要一个适当的最小示例。不要发布实际数据。发布一些具有相同结构的虚拟数据。您是否尝试过使用模块
集合中的
namedtuple