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

如何用Pandas与for循环处理多CSV文件?解决FileNotFoundError

批量处理CSV文件报错解决方法

问题场景

需要读取24个CSV文件(命名格式为exon_kipan.00001.csv至exon_kipan.000024.csv),先执行以下单个文件的处理逻辑,再合并所有处理后的DataFrame:

df = pd.read_csv("exon_kipan.csv", sep="\t", index_col=0, low_memory=False)
df = df[df.columns[::3]]
df = df.T 
del df[df.columns[0]]
df.index = df.index.str.upper()
df = df.sort_index()
df.index = ['-'.join(s.split('-')[:4]) for s in df.index.tolist()]
df.rename_axis(None, axis=1, inplace=True)

但批量处理代码运行时出现报错,批量代码如下:

filename = '/work/exon_kipan.{}.csv'
df_dict = {}
exon_clin_list = []
for i in range(1, 25):
    df_dict[i] = pd.read_csv(filename, sep="\t", index_col=0, low_memory=False)
    df_dict[i] = df_dict[i][df_dict[i].columns[::3]]
    df_dict[i] = df_dict[i].T
    del df_dict[i][df_dict[i].columns[0]]
    df_dict[i].index = df_dict[i].index.str.upper()
    df_dict[i] = df_dict[i].sort_index()
    df_dict[i].index = ['-'.join( s.split('-')[:4]) for s in df_dict[i].index.tolist() ]
    df_dict[i].rename_axis(None, axis=1, inplace=True)

    exon_clin_list.append(df_dict[i])

exon_clin = pd.concat(df_list)

报错信息:

FileNotFoundError: [Errno 2] No such file or directory: '/work/exon_kipan.{}.csv'

错误原因

  1. 文件名未正确格式化:定义了带占位符的文件名模板,但没有将循环变量i替换进去,且文件名中的数字是5位带前导零的格式(比如00001),直接用i生成的数字不符合文件名规则。
  2. 合并时变量名错误:最后合并用了df_list,但实际存储处理后DataFrame的列表是exon_clin_list,变量名不匹配。
  3. 冗余的字典存储:用df_dict存储每个文件的DataFrame完全没必要,直接用列表存储更简洁。

修正后的代码

import pandas as pd

exon_clin_list = []
for i in range(1, 25):
    # 生成带前导零的5位数字文件名
    filename = f'/work/exon_kipan.{i:05d}.csv'
    df = pd.read_csv(filename, sep="\t", index_col=0, low_memory=False)
    df = df[df.columns[::3]]
    df = df.T 
    del df[df.columns[0]]
    df.index = df.index.str.upper()
    df = df.sort_index()
    df.index = ['-'.join(s.split('-')[:4]) for s in df.index.tolist()]
    df.rename_axis(None, axis=1, inplace=True)
    
    exon_clin_list.append(df)

# 用正确的列表变量合并
exon_clin = pd.concat(exon_clin_list)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:50:31