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

为何os.listdir()能找到Excel文件但pd.read_excel()报错?

问题原因及解决办法

报错原因

os.listdir('excels/')返回的是目标文件夹内的纯文件名(比如RandomExcelData.xlsx),而pd.read_excel()默认会在当前脚本的工作目录下查找文件——你的脚本工作目录并非excels/,因此直接传入纯文件名时,Python无法定位到目标文件,触发FileNotFoundError。

而直接使用pd.read_excel('excels/RandomExcelData.xlsx')时,传入的是完整相对路径,Python能准确找到excels文件夹中的目标文件,所以可以正常执行。

修复方案

有两种常用的解决方式:

方式1:拼接完整文件路径

使用os.path.join()将文件夹路径与文件名拼接成完整路径,确保Python能准确定位文件:

import os
import pandas as pd

for filename in os.listdir('excels/'):
    print(filename)
    # 拼接完整路径
    full_path = os.path.join('excels/', filename)
    df = pd.read_excel(full_path)
    df.head()

方式2:切换工作目录至excels/

先将脚本的工作目录切换到excels/,之后直接使用文件名即可读取文件:

import os
import pandas as pd

# 切换工作目录到excels文件夹
os.chdir('excels/')
for filename in os.listdir():
    print(filename)
    df = pd.read_excel(filename)
    df.head()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:18:18