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

pandas批量读取指定路径xls文件出现FileNotFoundError如何解决

问题原因

os.listdir() 仅返回目标路径下的文件名/文件夹名,不包含完整路径前缀。你自定义路径后,循环读取时直接传入文件名,pandas会默认在当前工作目录下查找文件,自然找不到你指定路径里的xls文件。

修复方案

你只需要在读取文件时,把自定义路径和文件名拼接成完整路径即可,推荐用os.path.join()做路径拼接,自动适配不同操作系统的路径分隔符。

修正后的完整代码如下:

import os
import pandas as pd

# 自定义文件存储路径
path = "/path/to/file"
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls']

dfs = pd.DataFrame()

for i in files_xls:
    # 拼接完整路径
    full_file_path = os.path.join(path, i)
    data = pd.read_excel(full_file_path, 'Sheet 1', converters={'CODIGO':str})
    dfs = pd.concat([dfs, data], ignore_index=True)

补充优化建议:你原来用的DataFrame.append()方法在pandas 2.0+版本已经被废弃,替换为pd.concat()兼容性更好,加上ignore_index=True可以避免合并后出现重复索引的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:06:01