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

Python读取指定前缀文件转Pandas DataFrame触发FileNotFoundError

问题原因

os.listdir()返回的是目标目录下的纯文件名,不是完整文件路径。当你执行pd.read_csv(fn)时,Python会在当前工作目录(而非你指定的Data\Input_Data目录)中查找这个文件,所以触发了FileNotFoundError。

修复方案

方案1:用os.path拼接完整路径

修改代码,把目录路径和文件名拼接成完整路径,同时注意路径转义问题:

import os
import pandas as pd

target_dir = r'Data\Input_Data'  # 用原始字符串避免反斜杠转义
for fn in os.listdir(target_dir):
    if fn.startswith(var2):
        print('using file', fn)
        full_path = os.path.join(target_dir, fn)  # 拼接完整文件路径
        data4 = pd.read_csv(full_path)
        print(data4)

方案2:用pathlib(更简洁的现代写法)

pathlib是Python3.4+推荐的文件路径处理模块,代码更直观且跨平台:

from pathlib import Path
import pandas as pd

target_dir = Path('Data/Input_Data')  # 用正斜杠分隔路径,无需转义
for file_path in target_dir.iterdir():
    if file_path.name.startswith(var2):
        print('using file', file_path.name)
        data4 = pd.read_csv(file_path)  # Path对象可直接传入pd.read_csv
        print(data4)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:41:32