Я запускаю скрипт на python, который генерирует несколько переменных с помощью итерации в нескольких каталогах.После завершения сценария я хочу выполнить некоторые операции только с несколькими объектами (в данном случае с кадрами данных), соответствующими определенному шаблону.
Я могу получить список переменных, для которых я хочу выполнитьследующие операции:
failed_runs_finder = re.compile(r'FAILEDRuns_') # I want to perform the operations on the dataframes which match this pattern.
list_dfs = list(filter(failed_runs_finder.findall, dir())) # this will get me the list with the names of the dataframes
Что даст мне что-то вроде:
['FAILEDRuns_0112',
'FAILEDRuns_0121',
'FAILEDRuns_0126',
'FAILEDRuns_0129',
'FAILEDRuns_0131',
'FAILEDRuns_0134',
'FAILEDRuns_0135',
'FAILEDRuns_0137',
'FAILEDRuns_0142',
'FAILEDRuns_0153',
'FAILEDRuns_0165',
'FAILEDRuns_0171',
'FAILEDRuns_0175']
Теперь я хочу перебрать все объекты (которые являются фреймами данных) вэтот список (и выполнить несколько простых операций, например, получить количество строк в каждой из них с помощью метода shape()
).Проблема здесь в том, что элементы в этом списке строки , в то время как я хотел бы получить доступ к самим объектам через их имена в этом списке.
Например, если я сделаю:
for i in list_dfs:
print(getattr(i, 'shape'))
Я получаю:
AttributeError: 'str' object has no attribute 'shape'