首页 > 解决方案 > 如何使用 Python 读取多个文件夹中的文件

问题描述

我有一个名为 detail_data 的文件夹,其中有多个以“数字”为名称的文件夹。示例: 1 、 4,8 等,这些文件夹中的每一个都包含一个名为 Measurement table 的 excel 文件。我使用了以下代码,但它返回一个空列表。

path = pathname
df_list = []
for i in os.listdir(path):
    if i.isdigit():
        pathfile = path+'/'+i+"/Measurement table.csv"
        df= pd.read_csv(pathfile)
        df_list.append(df)

为什么它返回一个空列表?有没有其他方法可以循环进入所有这些文件夹,大约有 40 个这样的文件夹。

标签: pythonpandasfileglob

解决方案


你可以使用 os.walk。它为旨在遍历所有子目录中的所有文件等的代码提供了很多好处。

import os

dict_of_files = {}
for (dirpath, dirnames, filenames) in os.walk(path):
    for filename in filenames: 
        do_somthing (read/write etc)

推荐阅读