使用 pandas 读取子文件夹中的所有文件

read all files in sub folder with pandas

我的笔记本在主文件夹中,我还有另一个文件夹“test”。在 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)

但这只会深入一层。

您可以使用 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)

只需执行os.chdir(路径),然后使用glob.glob(os.path.join('*.shp'))。它应该工作。 您已经给出了加入 'os.path'.

的字符串