You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用glob递归获取父目录子文件夹CSV失败,为何无法遍历子目录?

问题原因与解决方法

为什么glob无法遍历子文件夹的CSV?

你写的路径/ParentDirectory/*.csv只会匹配ParentDirectory根目录下直接存放的CSV文件,哪怕开启了recursive=True也没用——因为recursive=True的作用是配合通配符**实现递归遍历,你的路径里没有**,glob只会在指定的一级目录下查找文件,自然找不到子文件夹里的内容,最终files是空列表,pd.concat就会抛出ValueError: No objects to concatenate。

而你指定具体子文件夹路径(比如/ParentDirectory/SubFolder 3/*.csv)能正常运行,是因为这个路径直接指向了CSV文件所在的目录,*.csv可以匹配到该目录下的文件。

修正后的代码

把路径中的通配符改成**/*.csv,让glob递归匹配所有层级子文件夹里的CSV:

import pandas as pd
import glob

# ** 匹配任意层级的子目录
files = glob.glob('/ParentDirectory/**/*.csv', recursive=True)
# 可选:先判断是否找到文件,避免空列表报错
if not files:
    raise FileNotFoundError("未找到任何CSV文件")
df = pd.concat([pd.read_csv(fp) for fp in files], ignore_index=True)

内容的提问来源于stack exchange,提问作者user53526356

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:01:29