我有一个和这个结构相似的物体
myObj = {
"subObj1":{"keyA":"valueA1"},
"subObj2":{"keyA":"valueA2","keyB":"valueB2"},
"subObj3":{"keyA":"valueA3","keyB":"valueB3", "keyC":{"keyA":"valueA3c"}},
}
通常,我可以访问此对象的内容,与此类似
print(myObj['subObj1']['keyA'])
print(myObj['subObj2']['keyB'])
print(myObj['subObj3']['keyC']['keyA'])
它将返回值
alueA1
valueB2
valueA3c
我需要一种基于外部配置文件中的密钥访问对象内容的方法,该文件中的密钥如下所示
"subObj3.keyC.keyA"
我可以将该键转换为类似于我通常访问对象的方式
keyString="['subObj3']['keyC']['keyA']"
但是,当尝试使用该键串访问对象时,我会收到KeyError消息
print(myObj[keyString])
KeyError: "['subObj3']['keyC']['keyA']"
对于我在这里要做的事情,有没有合适的语法,或者更好的方法
Nk03的解决方案确实是一个强大的方法。。。 作为一个简单的选择,考虑一下:
通过熊猫有一种方式:
输出:
注意:对于这个任务来说,使用pandas可能有点过火,但我更喜欢一行解决方案
您说过可以将字符串转换为
这很好,因为现在您可以在此基础上执行
eval()
输出
相关问题 更多 >
编程相关推荐