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

使用Pandas读取含缺失列名的CSV文件遇ValueError问题求助

解决CSV读取报错并实现预期列名

错误原因

使用usecols=range(0,8)时,pandas会将整数视为列名字符串去匹配表头,但你的CSV中空列的表头会被默认处理为Unnamed: X格式,不存在'0'、'1'这类列名,因此触发匹配错误。

解决方案

方案1:直接读取所有列(推荐)

无需额外指定usecols,pandas会自动为无列名的空列生成Unnamed: X格式的列名,完全符合预期:

import pandas as pd
df1 = pd.read_csv('myFile.csv')

验证列名:

print(df1.columns)
# 输出:Index(['id', 'Unnamed: 1', 'Unnamed: 2', 'To', 'DD', 'Unnamed: 5', 'Unnamed: 6', 'Unnamed: 7'], dtype='object')

方案2:强制读取前8列(限制列数场景)

如果需要确保只读取前8列(避免文件后续新增列影响),可以用lambda函数筛选列位置:

import pandas as pd
df1 = pd.read_csv('myFile.csv', usecols=lambda col_idx: col_idx < 8)

该方式兼容绝大多数pandas版本,能准确选中前8列并生成预期列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:20:50