Ну, там была синтаксическая ошибка в любом случае, вы можете использовать циклы ниже для итерации по ней.
for OuterKey, OuterValue in DATA_INFO.items():
if (isinstance(OuterValue, dict)):
print("Key :"+ OuterKey)
for InnerKey, InnerValue in OuterValue.items():
if isinstance(InnerValue, list):
print("\t"+InnerKey+ " -> ")
for eachEle in InnerValue:
print(eachEle)
else:
print("\t"+InnerKey+ " -> " +OuterValue.get(InnerKey))
else:
pass
Вы можете усовершенствовать, чтобы получить лучший результат. Я только что повторил структуру.
ПРИМЕЧАНИЕ. Я обновил структуру, как показано ниже.
DATA_INFO = {'file1_info': {
'filename' : 'Datafile1_' + str(yyyy),
'file_ext' : 'xls',
'active' : 'Y',
'calc_idx' : '1,4',
'inc_columns': '1,2,11',
'indexes':
[{'name': 'ZAXDR', 'active': 'N', 'idx_type': 'domestic', 'data_row': 9, 'multi_benchmark': 'N'},
{'name': 'ZAXLP', 'active': 'Y', 'idx_type': 'domestic', 'data_row': 9, 'multi_benchmark': 'N'},
{'name': 'ZAXERNL', 'active': 'Y', 'idx_type': 'domestic', 'data_row': 9, 'multi_benchmark': 'N'},
{'name': 'ZAXERNS', 'active': 'Y', 'idx_type': 'domestic', 'data_row': 9, 'multi_benchmark': 'N'}]
},
'file2_info': {
'filename' : 'Datafile2_' + str(yyyy),
'file_ext' : 'xls',
'active' : 'Y',
'calc_idx' : '1,4',
'inc_columns': '1,2,11',
'indexes':[
{'name': 'ZAX', 'active': 'Y', 'idx_type': 'domestic', 'data_row': 9, 'multi_benchmark': 'N'}]
}
}
'indexes' -> значение ключа обновлено до списка.