Windows10下pandas遍历目录csv文件触发PermissionError权限错误如何解决
错误根源
从报错日志末尾可以看到,程序尝试读取的目标是C:\\Users\\jeppe\\bot\\data\\.ipynb_checkpoints,这是Jupyter Notebook自动生成的临时缓存文件夹,不是CSV文件。你当前用os.listdir()会返回目标路径下所有的文件、文件夹名称,直接把文件夹路径传给pd.read_csv()自然会触发权限错误,和系统账户权限配置无关。
修复方案
你只需要在遍历的时候筛选出后缀为.csv的普通文件即可,以下是两种可行的修改方式:
方式1:基于os模块修改
import pandas as pd import os raw_data_path = 'C:\\Users\\jeppe\\data\\' filenames = os.listdir(raw_data_path) for file in filenames: full_path = os.path.join(raw_data_path, file) # 筛选普通文件+csv后缀 if os.path.isfile(full_path) and file.lower().endswith('.csv'): df = pd.read_csv(full_path) # 后续业务逻辑
方式2:基于pathlib模块修改(路径处理容错性更高)
import pandas as pd from pathlib import Path raw_data_path = Path('C:/Users/jeppe/data/') for csv_file in raw_data_path.glob('*.csv'): df = pd.read_csv(csv_file) # 后续业务逻辑
其他注意事项
如果修改后仍出现该报错,可以排查以下情况:
- 对应CSV文件正在被Excel或其他程序打开占用,关闭占用程序即可
- 文件名包含特殊系统保留字符,导致路径识别异常,重命名文件即可
内容的提问来源于stack exchange,提问作者Soma Juice
相关产品推荐
相关产品推荐

