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

使用Pandas read_csv时usecols含不存在列报错如何解决

解决pd.read_csv指定usecol时列不存在的问题

错误原因

你遇到的ValueError是因为传入usecol的列表中包含当前CSV文件不存在的列,pandas默认要求usecol里的列必须在文件中存在。

解决方法

方法一:先读取表头筛选目标列,再读取数据

先读取CSV的表头(仅读取表头行,nrows=0),从表头里筛选出确实包含“abc-”的列,再用这些列名作为usecol参数读取完整数据:

import pandas as pd

file_path = "你的CSV文件路径.csv"

# 读取表头,获取所有列名
header = pd.read_csv(file_path, nrows=0).columns.tolist()
# 筛选包含"abc-"的列
target_cols = [col for col in header if "abc-" in col]
# 读取目标列数据
df = pd.read_csv(file_path, usecols=target_cols)

方法二:直接使用函数作为usecol参数

pandas支持给usecol传入一个判断函数,自动筛选符合条件的列,无需提前准备列名列表:

import pandas as pd

df = pd.read_csv("你的CSV文件路径.csv", usecols=lambda col: "abc-" in col)

两种方法的区别

  • 方法一适合需要先获取目标列列表做额外处理(比如打印列名、保存列名到文件)的场景
  • 方法二更简洁,适合只需要直接读取目标列的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:52:05