如何使用colname_1
获取namedtuple属性foo
的值?
from collections import namedtuple
colname_1 = 'foo'
colname_2 = 'bar'
Farm = namedtuple('Farm', 'foo bar')
farm = Farm('apple', 'banana')
farm.foo # OK
farm.colname_1 # of course this doesn't work!
答案 0 :(得分:0)
使用getattr()
:
getattr(farm, colname_1) # 'apple'
要检索名称存储在字符串中的字段,请使用
getattr()
函数
或者,尽管笨拙,但您可以索引到._fields
属性中:
farm[[i for i, f in enumerate(farm._fields) if f == colname_1][0]] # 'apple'