Циклирование нескольких листов Excel в read_excel в объединенный фрейм данных в Pandas - PullRequest
0 голосов
/ 07 января 2019

У меня есть файл, в котором будет вкладка для каждого «фонда», на которую есть ссылки на отдельной вкладке. Я хочу прочитать все это в одном объединенном кадре данных. Я использовал приведенное ниже, чтобы сделать это очень ручным способом, но количество рабочих листов могло измениться.

xls = pd.ExcelFile(threeDaysFile)
fund0000 = pd.read_excel(xls, 0)
fund0001 = pd.read_excel(xls, 1)
fund0002 = pd.read_excel(xls, 2)
fund0003 = pd.read_excel(xls, 3)
fund0004 = pd.read_excel(xls, 4)
all_funds = pd.concat([fund0000, fund0001, 
fund0002, fund0003, fund0004])

Есть ли эффективный способ записать это в контекстно-зависимый цикл, который просто введет все листы текущего файла и объединит их в мастер-файл?

1 Ответ

0 голосов
/ 07 января 2019

Попробуйте с xls.sheet_names

pd.concat([pd.read_excel(file_name, sheetname=x) for x in xls.sheet_names])

Если вам нужно, с какого листа данные берутся

pd.concat([pd.read_excel(file_name, sheetname=x) for x in xls.sheet_names],keys=xls.sheet_names)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...