将多个文件夹和子文件夹中的多个excel文件合并为一个pandas数据帧

时间:2018-01-31 20:32:07

标签: python excel pandas dataframe glob

我的主文件夹名为“数据”。在里面,我有20个标记为1到20的文件夹。在这20个子文件夹的每一个中,我有另外1到5个子文件夹,其中一个称为“test_results”(我感兴趣的那个)。在test_result文件夹里面我有几个文件,范围从.jpeg,.csv,.xlxs。我需要使用.xlxs文件。如何仅检索位于父文件夹“Data”中的.xlxs文件,并将它们连接到一个数据框中,以便我可以进行分析?

我知道如何在所有文件都位于单个文件夹中时这样做但事实上它们在子文件夹中并与其他类型的文件混合会增加它的复杂性而我无法弄明白。

1 个答案:

答案 0 :(得分:0)

使用pathlib模块。

演示:

from pathlib import Path

p = Path(r'/path/to/Data')

df = pd.concat([pd.read_excel(f) for f in p.glob('**/test_results/*.xlsx')],
               ignore_index=True)