使用Pandas跳过CSV文件首列失败的技术求助
处理CSV首列无关信息的正确方案
你用skiprows完全找错了方向——这个参数是用来跳过行的,根本不是处理列的,所以要么无效要么误删整行是必然的。下面给你两种靠谱的解决方法,假设你用pandas处理(这是最常用的CSV处理工具):
方法1:读取时直接跳过首列
如果知道有效列的名称,直接用usecols指定要保留的列:
import pandas as pd # 替换成你的有效列名 df = pd.read_csv("your_data.csv", usecols=["姓名", "年龄", "城市"])
要是不知道列名,只确定首列是垃圾数据,可以用索引过滤:
# 跳过索引为0的列(首列) df = pd.read_csv("your_data.csv", usecols=lambda col_idx: col_idx != 0)
方法2:读取后删除首列
先完整读入CSV,再删掉首列,适合不确定列结构的情况:
import pandas as pd df = pd.read_csv("your_data.csv") # 删除首列(按列索引) df = df.drop(df.columns[0], axis=1) # 要是知道首列的具体名称,也可以直接删: # df = df.drop("无关列的名称", axis=1)
示例验证
示例输入CSV:
无关列,姓名,年龄,城市 1,张三,25,北京 2,李四,30,上海
处理后的期望输出:
姓名 年龄 城市 0 张三 25 北京 1 李四 30 上海
额外提醒
- 如果你的CSV分隔符不是逗号,记得加
sep参数,比如制表符分隔的话用sep="\t" - 要是首列是无列名的自动索引,读的时候可以加
index_col=False避免识别错误
内容的提问来源于stack exchange,提问作者PCTech
相关产品推荐
相关产品推荐

