зацикливание многих исключений на отдельные кадры данных - PullRequest
1 голос
/ 14 апреля 2019

Я относительно новичок в Python 3, и мне нужна помощь по созданию циклов в 4-х листах Excel как отдельных df.я могу сделать это, вручную введя pd.read_excel (filepath, index_col = 0) для каждого из 4 путей к файлам, но я искал надежный способ просто зациклить все мои пути к файлам и создать df для каждого пути к файлу (Excelspreedsheet).Может кто-нибудь мне помочь?спасибо


filepath = '/Users/User/Desktop/Tax\Year.xlsx'
filepath2 = '/Users/User/Desktop/Tax\Year2.xlsx'
filepath3 = '/Users/User/Desktop/Tax\Year3.xlsx'
filepath4 = '/Users/User/Desktop/Tax\Year4.xlsx'  

df = pd.read_excel(filepath, index_col=0)
df2 = pd.read_excel(filepath2, index_col=0)
df3 = pd.read_excel(filepath3, index_col=0)
df4 = pd.read_excel(filepath4, index_col=0)

1 Ответ

0 голосов
/ 14 апреля 2019

Я бы поставил '1' на первый путь к файлу.

dict_of_dfs = {}
for n in range(1,5):
    filepath = '/Users/User/Desktop/Tax/Year' + str(n) + '.xlsx'
    df = pd.read_excel(filepath, index_col=0)
    dict_of_dfs[n] = df

# retrieve your dfs...
df1 = dict_of_dfs[1]
df2 = dict_of_dfs[2]
# etc...

В дополнение к вопросу ОП ниже. Используйте walk from os library, чтобы иметь возможность загружать имена файлов из каталога, а затем просматривать их в списке

from os import walk
directory = '/Users/User/Desktop/Tax/Year'

f = []
for (dirpath, dirnames, filenames) in walk(directory):
    f.extend(filenames)
    break

Затем вы можете получить доступ к вашим именам файлов через цикл for:

for n in f: 
    filepath = '/Users/User/Desktop/Tax/Year' + n
    df = pd.read_excel(filepath, index_col=0)
    dict_of_dfs[n] = df
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...