Как создать список/словарь из датафреймов, полученных из xlsx файлов в python?

У меня есть 3 файла excel (.xls). Я хочу создать список или словарь, которые содержали бы дата фреймы, полученные из этих файлов. Я использую код:

all_datasets = {years:pd.read_excel(download_dir+'\index'+str(year)+'_data.xls') for year in years}
display(all_datasets[2017])

где years - список годов, за которые у меня собраны данные (2017, 2018, 2019), а download_dir - директория, где эти файлы хранятся. Когда я пытаюсь вывести словарь целиком или его часть по ключу, я получаю пустой словарь/просто ничего

То же самое со списками. Для них я использую код:

all_datasets = [pd.read_excel(download_dir+f'\index'+str(year)+'_data.xls') for year in years]

Название файлов одинаковое, меняется только год


Ответы (1 шт):

Автор решения: bbbunny

Всем привет! Спасибо, кто ответил. Проблема была в списке years. Нужно было создавать его либо прямо перед этой строчкой (до этого он создавался где-то в начале кода), либо вместо years прямо использовать список [2017, 2018, 2019], не создавая перед этим. То есть либо:

years = [2017, 2018, 2019]
all_datasets = {years:pd.read_excel(download_dir+'\index'+str(year)+'_data.xls') for year in years}

Либо:

all_datasets = {years:pd.read_excel(download_dir+'\index'+str(year)+'_data.xls') for year in [2017, 2018, 2019]}

В моем конкретном случае формат строки роли не играл, однако на это тоже обращайте внимание (спасибо первому ответу)

→ Ссылка