在我引用的代码中,使用object["key"]
方法访问对象属性,而不是调用object.key
访问属性值。
但是,当我尝试使用上述方法创建一个简单的对象数组并访问属性时,却遇到了错误。
if bank_record.effective_date.strip() == "25/07/2019" and bank_record["description"].__contains__("50036"):
TypeError: 'COM' object is not subscriptable
为该对象提供的原因不是下标错误,该类缺少__getitem__
方法。但是在我所引用的代码中,它对于任何dto类都不包含这种方法。但是上面的object["key"]
方法很好用。我想念什么。我已经尝试了一段时间了。
我只想遍历对象数组并访问对象属性并在运行时对其进行修改。为了使该函数通用,我想使用object["key"]
方法访问这些对象属性。请帮忙。
答案 0 :(得分:0)
我的错误,我错过了一些步骤。在我所引用的代码中,它们正在循环一个json对象数组,该数组是通过将python对象数组值转储到json字符串中并重新加载回json对象数组而创建的。
excel_dto_list = []
#add objects to the list
#...
json_string = json.dumps([ob.__dict__ for ob in excel_dto_list])
#done in another method
downloaded_object = json.loads(json_string)
for x in downloaded_object:
print(x["comment"])