【问题标题】:read all files in sub folder with pandas使用 pandas 读取子文件夹中的所有文件
【发布时间】:2021-08-05 15:13:12
【问题描述】:

我的笔记本位于主文件夹中,其中还有另一个文件夹“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)

但这只会深入一层。

【问题讨论】:

  • 将path + "/test/" 传递给path.join 怎么样? e:经过测试并为我工作
  • 抱歉,我更新了我的 qs @Ben

标签: python python-3.x dataframe data-analysis python-os


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这是更新后的qs吗?如何在 test 内的文件夹中进行迭代?
    • 对于你目前的qs,你可以照我说的做。它应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2021-01-08
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多