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

使用chdir()读取目录下所有CSV文件遇到的问题

解决CSV文件遍历问题

问题根源

你用glob.iglob('*.csv')只会匹配当前工作目录下的CSV文件,不会自动遍历子文件夹,所以只能读到new.csv,读不到Test和Test2子目录里的文件。

正确写法:递归遍历所有CSV

直接给你能用的代码,开启glob的递归模式就能搞定:

import glob, os

os.chdir('C:\\Users\\Me\\Desktop\\Auto')
# ** 表示匹配任意层级的子目录,配合recursive=True开启递归
for file in glob.iglob('**/*.csv', recursive=True):
    print(file)

运行后会输出所有CSV文件,包括Test/Test.csv、Test2/Test2.csv和new.csv。

关于你报错的路径写法

你写的os.chdir('C:\\Users\\Me\\Desktop\\Auto\\{}')里的{}是Python的字符串占位符,不是合法的目录名,系统肯定找不到这个路径,所以报错。完全没必要这么写,保持原工作目录就行。

可选方案:不切换工作目录

如果不想切换工作目录,直接在glob里写完整路径也可以:

import glob

# 直接指定根目录,递归匹配所有CSV
for file in glob.iglob('C:\\Users\\Me\\Desktop\\Auto\\**/*.csv', recursive=True):
    print(file)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 10:21:04