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

使用pandas读取CSV时出现列名数量不匹配错误,请求协助排查

解决pandas read_csv usecols列名不匹配错误

你的代码在读取CSV时触发了「传入的名称数量与文件中的表头字段数量不匹配(CSV)」错误,代码如下:

TWEET_DATA = pd.read_csv("stemming.csv", usecols=['Id','clean'])
TWEET_DATA.columns = ["label", "tweet"]

TWEET_DATA.head()

从你提供的CSV截图可以看到,文件实际表头是Id,clean_tweet。

错误原因

最关键的问题是usecols里的列名和CSV实际表头不匹配:你写的'clean'在CSV里对应的是'clean_tweet',pandas找不到指定的clean列,直接触发了列数量不匹配的报错。另外,直接给columns硬赋值的方式也不够稳妥,后续如果读取列数和赋值列数不一致,也会出问题。

解决办法

  1. 先修正usecols的列名,和CSV表头完全对应:
# 把'clean'改成实际的列名'clean_tweet'
TWEET_DATA = pd.read_csv("stemming.csv", usecols=['Id','clean_tweet'])
  1. 用更稳妥的方式重命名列,推荐两种写法:
    • 写法一:读取完成后用rename方法修改列名
    TWEET_DATA = TWEET_DATA.rename(columns={'Id': 'label', 'clean_tweet': 'tweet'})
    
    • 写法二:读取时直接指定新列名(header=0表示先识别原表头匹配列,再替换为新名称)
    TWEET_DATA = pd.read_csv("stemming.csv", usecols=['Id','clean_tweet'], 
                            names=['label', 'tweet'], header=0)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:15:43