首页 > 解决方案 > 使用 pandas 读取子文件夹中的所有文件

问题描述

我的笔记本位于主文件夹中,其中还有另一个文件夹“ test ”。在测试文件夹中,我有 5 个子文件夹。每个文件夹都包含一个 .shp 文件。我想迭代测试中的所有子文件夹并打开所有 .shp 文件。它们是否被覆盖并不重要。

data = gpd.read_file("./test/folder1/file1.shp")
data.head()

我该怎么做?我试过这个

path = os.getcwd()
files = glob.glob(os.path.join(path + "/test/", "*.shp"))
print(files)

但这只会深入一层。

标签: pythonpython-3.xdataframedata-analysispython-os

解决方案


您可以使用 os 库中的 os.walk 方法。

import os
import pandas as pd
for root, dirs, files in os.walk("./test"):
    for name in files:
        fpath = os.path.join(root, name)
        data = pd.read_file(fpath)

推荐阅读