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

Python批量处理CSV报KeyError时如何定位对应的出错文件?

解决方案

方法1:异常捕获(推荐,不中断正常文件处理)

直接在循环中增加try-except块,捕获KeyError时输出对应文件名,剩余正常文件可继续处理,修改后的代码如下:

import pandas as pd
import numpy as np
from pathlib import Path

inp_dir = Path(r'C:/Users/jtharian/Desktop/bbc/') 

for file in inp_dir.glob('*.csv'):
    try:
        # 注:pandas新版本中error_bad_lines已弃用,可替换为on_bad_lines='skip'
        df = pd.read_csv(file, sep=',', quotechar='|', on_bad_lines='skip')
        df['confidence'] = df['confidence'].replace(np.nan, 0.01)
        df.to_csv(file, index=False)
    except KeyError:
        print(f"缺失confidence列的问题文件:{file.resolve()}")

方法2:提前校验列存在性

读取文件后先判断confidence列是否存在,不存在就直接打印文件名跳过处理:

import pandas as pd
import numpy as np
from pathlib import Path

inp_dir = Path(r'C:/Users/jtharian/Desktop/bbc/') 

for file in inp_dir.glob('*.csv'):
    df = pd.read_csv(file, sep=',', quotechar='|', on_bad_lines='skip')
    if 'confidence' not in df.columns:
        print(f"缺失confidence列的问题文件:{file.resolve()}")
        continue
    df['confidence'] = df['confidence'].replace(np.nan, 0.01)
    df.to_csv(file, index=False)

两种方法都可以精准定位到所有缺失confidence列的CSV文件,可根据使用习惯选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 23:30:01