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

for循环读取文件已识别文件名仍报no such file or directory错误如何解决?

错误原因
  • os.listdir(path)的返回值仅为指定路径下的纯文件名,不会包含你传入的路径前缀
  • 你当前运行代码的工作目录(Colab默认工作目录为/content)和你指定的path路径不匹配,pd.ExcelFile()直接接收纯文件名时,只会在当前工作目录下查找文件,因此触发文件不存在的报错。打印文件名正常只是说明你指定的path路径下确实存在该文件,不代表当前工作目录下有该文件。
修复方案

推荐使用路径拼接的方式处理,不需要修改全局工作目录,兼容性更强:

import os
import pandas as pd

# 替换为你自己的目标路径,Colab挂载云盘后通常为/content/drive/MyDrive/开头的路径
target_path = "你的目标路径"

for file_name in os.listdir(target_path):
    # 过滤非xlsx格式的文件,避免目录、其他格式文件引发额外报错
    if file_name.endswith(".xlsx"):
        print(file_name)
        # 拼接得到文件的完整路径
        full_file_path = os.path.join(target_path, file_name)
        xlsx = pd.ExcelFile(full_file_path)

如果确实需要保持原有传纯文件名的写法,可以切换工作目录到目标路径,该方案不推荐,会修改全局工作目录,可能影响后续其他路径相关代码的运行:

import os
import pandas as pd

target_path = "你的目标路径"
# 切换当前工作目录到目标路径
os.chdir(target_path)

for file_name in os.listdir(target_path):
    if file_name.endswith(".xlsx"):
        print(file_name)
        xlsx = pd.ExcelFile(file_name)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:39:03